Digital Mages - Paranoid::Log::File(3)
Paranoid::Log::File
Section: User Contributed Perl Documentation (3)
Updated: 2022-03-08
Index
NAME
Paranoid::Log::File - File Logging Functions
VERSION
$Id: lib/Paranoid/Log/File.pm, 2.10 2022/03/08 00:01:04 acorliss Exp $
SYNOPSIS
use Paranoid::Log;
startLogger('events', 'File', PL_DEBUG, PL_GE,
{
file => '/var/log/events.log',
mode => O_TRUNC | O_CREAT | O_RDWR,
perm => 0600,
syslog => 1,
});
DESCRIPTION
This provides a mechanism to log to log files. It will log arbitrarily long
text, but also provides a syslog mode which limits log lines to 2048 and
precedes text with the standard syslog preamble (date/time, host, process
name/PID).
The only mandatory option is the file key/value pair. This module
leverages Paranoid::IO's popen.
mode defaults to O_CREAT | O_APPEND | O_WRONLY.'
perm defaults to 0666 ^ UMASK
syslog defaults to false. Enabling it causes every line to be formatted
akin to syslog, along with the 2048 byte limit on messages.
OPTIONS
The options recognized for use in the options hash are as follows:
Option Value Description
-----------------------------------------------------
file string file name of log file
mode integer file mode to open with
perm integer file permissions of newly
created log files
syslog boolean enable syslog-style format
SUBROUTINES/METHODS
NOTE: Given that this module is not intended to be used directly nothing
is exported.
init
logMsg
addLogger
delLogger
DEPENDENCIES
- o
-
Fcntl
- o
-
Paranoid::Debug
- o
-
Paranoid::Filesystem
- o
-
Paranoid::Input
- o
-
Paranoid::IO
SEE ALSO
- o
-
Paranoid::Log
BUGS AND LIMITATIONS
This isn't a high performance module when dealing with a high logging rate
with high concurrency. This is due to the advisory locking requirement and
the seeks to the end of the file with every message. This facility is
intended as a kind of lowest-common denominator for programs that need some
kind of logging capability.
AUTHOR
Arthur Corliss (
corliss@digitalmages.com)
LICENSE AND COPYRIGHT
This software is free software. Similar to Perl, you can redistribute it
and/or modify it under the terms of either:
a) the GNU General Public License
<https://www.gnu.org/licenses/gpl-1.0.html> as published by the
Free Software Foundation <http://www.fsf.org/>; either version 1
<https://www.gnu.org/licenses/gpl-1.0.html>, or any later version
<https://www.gnu.org/licenses/license-list.html#GNUGPL>, or
b) the Artistic License 2.0
<https://opensource.org/licenses/Artistic-2.0>,
subject to the following additional term: No trademark rights to
``Paranoid'' have been or are conveyed under any of the above licenses.
However, ``Paranoid'' may be used fairly to describe this unmodified
software, in good faith, but not as a trademark.
(c) 2005 - 2020, Arthur Corliss (corliss@digitalmages.com)
(tm) 2008 - 2020, Paranoid Inc. (www.paranoid.com)
Index
- NAME
-
- VERSION
-
- SYNOPSIS
-
- DESCRIPTION
-
- OPTIONS
-
- SUBROUTINES/METHODS
-
- init
-
- logMsg
-
- addLogger
-
- delLogger
-
- DEPENDENCIES
-
- SEE ALSO
-
- BUGS AND LIMITATIONS
-
- AUTHOR
-
- LICENSE AND COPYRIGHT
-
Copyright © 1997 - 2019,
Arthur Corliss, all rights reserved.