Provided by: spamassassin_4.0.0-8ubuntu5_all bug

NAME

       Mail::SpamAssassin::Logger - SpamAssassin logging module

SYNOPSIS

         use Mail::SpamAssassin::Logger;

         $SIG{__WARN__} = sub {
           log_message("warn", $_[0]);
         };

         $SIG{__DIE__} = sub {
           log_message("error", $_[0])  if !$^S;
         };

METHODS

       add_facilities(facilities)
           Enable  debug  logging  for  specific  facilities.   Each  facility  is  the  area  of code to debug.
           Facilities can be specified as a hash reference (the key names are  used),  an  array  reference,  an
           array, or a comma-separated scalar string. Facility names are case-sensitive.

           If  "all"  is  listed,  then all debug facilities are implicitly enabled, except for those explicitly
           disabled.  A facility name may be preceded by a "no" (case-insensitive),  which  explicitly  disables
           it, overriding the "all".  For example: all,norules,noconfig,nodcc.  When facility names are given as
           an  ordered list (array or scalar, not a hash), the last entry applies, e.g. 'nodcc,dcc,dcc,noddc' is
           equivalent to 'nodcc'.  Note that currently no facility name starts with a "no",  it  is  advised  to
           keep this practice with newly added facility names to make life easier.

           Higher  priority  informational  messages  that  are suitable for logging in normal circumstances are
           available with an area of "info".  Some very verbose messages require the facility to be specifically
           enabled (see "would_log" below).

       log_message($level, @message)
           Log a message at a specific level.  Levels are specified as strings:  "warn",  "error",  "info",  and
           "dbg".  The first element of the message must be prefixed with a facility name followed directly by a
           colon.

       dbg("facility: message")
           This is used for all low priority debugging messages.

       info("facility: message")
           This is used for informational messages indicating a normal, but significant, condition.  This should
           be infrequently called.  These messages are typically logged when SpamAssassin is run as a daemon.

       add(method => 'syslog', socket => $socket, facility => $facility, escape => $escape)
           "socket"  is  the  type  the syslog ("unix" or "inet").  "facility" is the syslog facility (typically
           "mail").

           If optional "escape" is true, all non-ascii characters  are  escaped  for  safe  output:  backslashes
           change  to  \\  and  non-ascii  chars to \x{XX} or \x{XXXX} (Unicode).  If not defined, pre-4.0 style
           sanitizing is used ( tr/\x09\x20\x00-\x1f/_/s ).

           Escape value can be overridden with environment variable "SA_LOGGER_ESCAPE".

       add(method => 'file', filename => $file, escape => $escape)
           "filename" is the name of the log file.  "escape" works as described above.

       add(method => 'stderr', escape => $escape)
           No options are needed for stderr logging, just don't close stderr first.  "escape" works as described
           above.

       remove(method)
           Remove a logging method.  Only the method name needs to be passed as a scalar.

       would_log($level, $facility)
           Returns false if a message at the given level and with  the  given  facility  would  not  be  logged.
           Returns  1  if  a  message  at a given level and facility would be logged normally.  Returns 2 if the
           facility was specifically enabled.

           The facility argument is optional.

       close_log()
           Close all logs.

perl v5.38.2                                       2024-04-12                    Mail::SpamAssassin::Logger(3pm)