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, because some systems have a problem with this dependency).
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
Extends "DESCRIPTION" in Log::Report::Dispatcher.
METHODS
Extends "METHODS" in Log::Report::Dispatcher.
Constructors
Extends "Constructors" in Log::Report::Dispatcher.
- $obj->close()
-
Inherited, see "Constructors" in Log::Report::Dispatcher
- 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 charset 'utf8' facility 'user' flags 'pid,nowait' format <unchanged> format_reason Log::Report::Dispatcher 'IGNORE' identity <basename $0> include_domain <false> locale Log::Report::Dispatcher <system locale> logsocket undef mode Log::Report::Dispatcher 'NORMAL' to_prio []
- accept => REASONS
- charset => CHARSET
-
Translate the text-strings into the specified charset, otherwise the sysadmin may get unreadable text.
- facility => STRING
-
The possible values for this depend (a little) on the system. POSIX only defines
user
, andlocal0
up tolocal7
. - flags => STRING
-
Any combination of flags as defined by Sys::Syslog, for instance
pid
,ndelay
, andnowait
. - format => CODE
-
[1.10] With a CODE reference you get your hands on the text before it gets sent to syslog. The three parameters are: the (translated) text, the related text domain object, and the message object. You may want to use context information from the latter.
[1.19] After the three positional parameters, there may be a list of pairs (named parameters) with additional info. This may contain a
location
with an ARRAY of information produced by caller() about the origin of the exception. - format_reason => 'UPPERCASE'|'LOWERCASE'|'UCFIRST'|'IGNORE'|CODE
- identity => STRING
- include_domain => BOOLEAN
-
[1.00] Include the text-domain of the message in each logged message.
- locale => LOCALE
- logsocket => 'unix'|'inet'|'stream'|HASH
-
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
Extends "Accessors" in Log::Report::Dispatcher.
- $obj->format( [CODE] )
-
Returns the CODE ref which formats the syslog line.
- $obj->isDisabled()
-
Inherited, see "Accessors" in Log::Report::Dispatcher
- $obj->mode()
-
Inherited, see "Accessors" in Log::Report::Dispatcher
- $obj->name()
-
Inherited, see "Accessors" in Log::Report::Dispatcher
- $obj->needs( [$reason] )
-
Inherited, see "Accessors" in Log::Report::Dispatcher
- $obj->type()
-
Inherited, see "Accessors" in Log::Report::Dispatcher
Logging
Extends "Logging" in Log::Report::Dispatcher.
- $obj->addSkipStack(@CODE)
- Log::Report::Dispatcher::Syslog->addSkipStack(@CODE)
-
Inherited, see "Logging" in Log::Report::Dispatcher
- $obj->collectLocation()
- Log::Report::Dispatcher::Syslog->collectLocation()
-
Inherited, see "Logging" in Log::Report::Dispatcher
- $obj->collectStack( [$maxdepth] )
- Log::Report::Dispatcher::Syslog->collectStack( [$maxdepth] )
-
Inherited, see "Logging" in Log::Report::Dispatcher
- $obj->log(HASH-$of-%options, $reason, $message, $domain)
-
Inherited, see "Logging" in Log::Report::Dispatcher
- $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->skipStack()
-
Inherited, see "Logging" in Log::Report::Dispatcher
- $obj->stackTraceLine(%options)
- Log::Report::Dispatcher::Syslog->stackTraceLine(%options)
-
Inherited, see "Logging" in Log::Report::Dispatcher
- $obj->translate(HASH-$of-%options, $reason, $message)
-
Inherited, see "Logging" in Log::Report::Dispatcher
DETAILS
Extends "DETAILS" in Log::Report::Dispatcher.
SEE ALSO
This module is part of Log-Report distribution version 1.36, built on October 27, 2023. Website: http://perl.overmeer.net/CPAN/
LICENSE
Copyrights 2007-2023 by [Mark Overmeer <markov@cpan.org>]. 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://dev.perl.org/licenses/