Arthur Corliss > Paranoid > Paranoid::Log::File

Download:
Paranoid/Paranoid-2.01.tar.gz

Dependencies

Annotate this POD

CPAN RT

New  4
Open  2
View/Report Bugs
Module Version: 2.01   Source  

NAME ^

Paranoid::Log::File - File Logging Functions

VERSION ^

$Id: lib/Paranoid/Log/File.pm, 2.01 2016/06/23 00:34:49 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 still applies).

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 demoninator for programs that need some kind of logging capability.

AUTHOR ^

Arthur Corliss (corliss@digitalmages.com)

LICENSE AND COPYRIGHT ^

This software is licensed under the same terms as Perl, itself. Please see http://dev.perl.org/licenses/ for more information.

(c) 2005 - 2015, Arthur Corliss (corliss@digitalmages.com)

syntax highlighting: