.\" Automatically generated by Pod::Man 4.07 (Pod::Simple 3.32) .\" .\" Standard preamble: .\" ======================================================================== .de Sp \" Vertical space (when we can't use .PP) .if t .sp .5v .if n .sp .. .de Vb \" Begin verbatim text .ft CW .nf .ne \\$1 .. .de Ve \" End verbatim text .ft R .fi .. .\" Set up some character translations and predefined strings. \*(-- will .\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left .\" double quote, and \*(R" will give a right double quote. \*(C+ will .\" give a nicer C++. Capital omega is used to do unbreakable dashes and .\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff, .\" nothing in troff, for use with C<>. .tr \(*W- .ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p' .ie n \{\ . ds -- \(*W- . ds PI pi . if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch . if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch . ds L" "" . ds R" "" . ds C` "" . ds C' "" 'br\} .el\{\ . ds -- \|\(em\| . ds PI \(*p . ds L" `` . ds R" '' . ds C` . ds C' 'br\} .\" .\" Escape single quotes in literal strings from groff's Unicode transform. .ie \n(.g .ds Aq \(aq .el .ds Aq ' .\" .\" If the F register is >0, we'll generate index entries on stderr for .\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index .\" entries marked with X<> in POD. Of course, you'll have to process the .\" output yourself in some meaningful fashion. .\" .\" Avoid warning from groff about undefined register 'F'. .de IX .. .if !\nF .nr F 0 .if \nF>0 \{\ . de IX . tm Index:\\$1\t\\n%\t"\\$2" .. . if !\nF==2 \{\ . nr % 0 . nr F 2 . \} .\} .\" ======================================================================== .\" .IX Title "Paranoid::Log::File 3pm" .TH Paranoid::Log::File 3pm "2016-12-25" "perl v5.24.1" "User Contributed Perl Documentation" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "NAME" Paranoid::Log::File \- File Logging Functions .SH "VERSION" .IX Header "VERSION" \&\f(CW$Id:\fR lib/Paranoid/Log/File.pm, 2.04 2016/09/19 15:00:25 acorliss Exp $ .SH "SYNOPSIS" .IX Header "SYNOPSIS" .Vb 1 \& use Paranoid::Log; \& \& startLogger(\*(Aqevents\*(Aq, \*(AqFile\*(Aq, PL_DEBUG, PL_GE, \& { \& file => \*(Aq/var/log/events.log\*(Aq, \& mode => O_TRUNC | O_CREAT | O_RDWR, \& perm => 0600, \& syslog => 1, \& }); .Ve .SH "DESCRIPTION" .IX Header "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). .PP The only mandatory option is the \fIfile\fR key/value pair. This module leverages Paranoid::IO's \fIpopen\fR. .PP \&\fImode\fR defaults to O_CREAT | O_APPEND | O_WRONLY.' .PP \&\fIperm\fR defaults to 0666 (umask still applies). .PP \&\fIsyslog\fR defaults to false. Enabling it causes every line to be formatted akin to syslog, along with the 2048 byte limit on messages. .SH "OPTIONS" .IX Header "OPTIONS" The options recognized for use in the options hash are as follows: .PP .Vb 7 \& 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 .Ve .SH "SUBROUTINES/METHODS" .IX Header "SUBROUTINES/METHODS" \&\fB\s-1NOTE\s0\fR: Given that this module is not intended to be used directly nothing is exported. .SS "init" .IX Subsection "init" .SS "logMsg" .IX Subsection "logMsg" .SS "addLogger" .IX Subsection "addLogger" .SS "delLogger" .IX Subsection "delLogger" .SH "DEPENDENCIES" .IX Header "DEPENDENCIES" .IP "o" 4 .IX Item "o" Fcntl .IP "o" 4 .IX Item "o" Paranoid::Debug .IP "o" 4 .IX Item "o" Paranoid::Filesystem .IP "o" 4 .IX Item "o" Paranoid::Input .IP "o" 4 .IX Item "o" Paranoid::IO .SH "SEE ALSO" .IX Header "SEE ALSO" .IP "o" 4 .IX Item "o" Paranoid::Log .SH "BUGS AND LIMITATIONS" .IX Header "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. .SH "AUTHOR" .IX Header "AUTHOR" Arthur Corliss (corliss@digitalmages.com) .SH "LICENSE AND COPYRIGHT" .IX Header "LICENSE AND COPYRIGHT" This software is licensed under the same terms as Perl, itself. Please see http://dev.perl.org/licenses/ for more information. .PP (c) 2005 \- 2015, Arthur Corliss (corliss@digitalmages.com)