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

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