NAME
Log::Report::Dispatcher::Syslog - send messages to syslog
INHERITANCE
Log::Report::Dispatcher::Syslog
is a Log::Report::Dispatcher
SYNOPSIS
# add syslog dispatcher
dispatcher SYSLOG => 'syslog', accept => 'NOTICE-'
, format_reason => 'IGNORE'
, to_prio => [ 'ALERT-' => 'err' ];
# disable default dispatcher, when daemon
dispatcher close => 'default';
DESCRIPTION
This dispatchers produces output to syslog, based on the Sys::Syslog module (which will NOT be automatically installed for you).
The REASON for a message often uses names which are quite similar to the log-levels used by syslog. However: they have a different purpose. The REASON is used by the programmer to indicate the cause of the message: whether it was able to handle a certain situation. The syslog levels are there for the user's of the program (with syslog usually the system administrators). It is not unusual to see a "normal" error or mistake as a very serious situation in a production environment. So, you may wish to translate any message above reason MISTAKE into a LOG_CRIT.
The default translation table is list below. You can change the mapping using new(to_prio). See example in SYNOPSIS.
TRACE => LOG_DEBUG ERROR => LOG_ERR
ASSERT => LOG_DEBUG FAULT => LOG_ERR
INFO => LOG_INFO ALERT => LOG_ALERT
NOTICE => LOG_NOTICE FAILURE => LOG_EMERG
WARNING => LOG_WARNING PANIC => LOG_CRIT
MISTAKE => LOG_WARNING
METHODS
Constructors
$obj->close
Log::Report::Dispatcher::Syslog->new(TYPE, NAME, OPTIONS)
With syslog, people tend not to include the REASON of the message in the logs, because that is already used to determine the destination of the message.
Option --Defined in --Default
accept Log::Report::Dispatcher depend on mode
facility 'user'
flags 'pid,nowait'
format_reason Log::Report::Dispatcher 'IGNORE'
identity <basename $0>
locale Log::Report::Dispatcher <system locale>
logsocket undef
mode Log::Report::Dispatcher 'NORMAL'
to_prio []
. accept => REASONS
. facility => STRING
The possible values for this depend (a little) on the system. POSIX only defines 'user' and 'local0' upto 'local7'.
. flags => STRING
Any combination of flags as defined by Sys::Syslog, for instance pid
, ndelay
, and nowait
.
. format_reason => 'UPPERCASE'|'LOWERCASE'|'UCFIRST'|'IGNORE'|CODE
. identity => STRING
. locale => LOCALE
. logsocket => 'unix'|'inet'|'stream'
If specified, the log socket type will be initialized to this before openlog is called. If not specified, the system default is used.
. mode => 'NORMAL'|'VERBOSE'|'ASSERT'|'DEBUG'|0..3
. to_prio => ARRAY-of-PAIRS
See reasonToPrio().
Accessors
$obj->isDisabled
$obj->mode
$obj->name
$obj->needs
$obj->type
Logging
$obj->collectLocation
Log::Report::Dispatcher::Syslog->collectLocation
$obj->collectStack([MAXDEPTH])
$obj->log(HASH-of-OPTIONS, REASON, MESSAGE)
$obj->reasonToPrio(REASON)
Returns a level which is understood by syslog(3), based on a translation table. This can be changed with new(to_prio).
$obj->stackTraceLine(OPTIONS)
Log::Report::Dispatcher::Syslog->stackTraceLine(OPTIONS)
$obj->translate(HASH-of-OPTIONS, REASON, MESSAGE)
DETAILS
SEE ALSO
This module is part of Log-Report distribution version 0.16, built on March 27, 2008. Website: http://perl.overmeer.net/log-report/
LICENSE
Copyrights 2007-2008 by Mark Overmeer. For other contributors see ChangeLog.
This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself. See http://www.perl.com/perl/misc/Artistic.html