Provided by: libparanoid-perl_2.10-1_all bug

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)