Mark Overmeer > Log-Report-1.01 > Log::Report::Dispatcher::Syslog

Download:
Log-Report-1.01.tar.gz

Dependencies

Annotate this POD

CPAN RT

Open  4
View/Report Bugs
Module Version: 1.01   Source   Latest Release: Log-Report-1.05

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

See documentation in the base class.

METHODS ^

See documentation in the base class.

Constructors

See documentation in the base class.

$obj->close()

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_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, 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
include_domain => BOOLEAN

[1.00] Include the text-domain of the message in each logged message.

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

See documentation in the base class.

$obj->isDisabled()

See "Accessors" in Log::Report::Dispatcher

$obj->mode()

See "Accessors" in Log::Report::Dispatcher

$obj->name()

See "Accessors" in Log::Report::Dispatcher

$obj->needs([REASON])

See "Accessors" in Log::Report::Dispatcher

$obj->type()

See "Accessors" in Log::Report::Dispatcher

Logging

See documentation in the base class.

$obj->collectLocation()
Log::Report::Dispatcher::Syslog->collectLocation()

See "Logging" in Log::Report::Dispatcher

$obj->collectStack([MAXDEPTH])
Log::Report::Dispatcher::Syslog->collectStack([MAXDEPTH])

See "Logging" in Log::Report::Dispatcher

$obj->log(HASH-of-OPTIONS, REASON, MESSAGE, DOMAIN)

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->stackTraceLine(OPTIONS)
Log::Report::Dispatcher::Syslog->stackTraceLine(OPTIONS)

See "Logging" in Log::Report::Dispatcher

$obj->translate(HASH-of-OPTIONS, REASON, MESSAGE)

See "Logging" in Log::Report::Dispatcher

DETAILS ^

See documentation in the base class.

SEE ALSO ^

This module is part of Log-Report distribution version 1.01, built on January 06, 2014. Website: http://perl.overmeer.net/log-report/

LICENSE ^

Copyrights 2007-2014 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

syntax highlighting: