Mail::SpamAssassin::Logger.3pm

Langue: en

Version: 2007-08-08 (openSuse - 09/10/07)

Section: 3 (Bibliothèques de fonctions)

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 $_[0] !~ /\bin eval\b/;

  };



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.

If ``all'' is listed, then all debug facilities are enabled. 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_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)
"socket" is the type the syslog (``unix'' or ``inet''). "facility" is the syslog facility (typically ``mail'').
add(method => 'file', filename => $file)
"filename" is the name of the log file.
add(method => 'stderr')
No options are needed for stderr logging, just don't close stderr first.
remove(method)
Remove a logging method. Only the method name needs to be passed as a scalar.
would_log($level, $facility)
Returns 0 if a message at the given level and with the given facility would 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.