Log::Report::Dispatcher::Log4perl - send messages to Log::Log4perl back-end
Log::Report::Dispatcher::Log4perl is a Log::Report::Dispatcher
dispatcher Log::Log4perl => 'logger', accept => 'NOTICE-' , config => "$ENV{HOME}/.log.conf" , to_level => [ 'ALERT-' => $ERROR ];
# disable default dispatcher dispatcher close => 'logger';
# configuration inline, not in file: adapted from the Log4perl manpage my $name = 'logger'; my $outfile = '/tmp/a.log'; my $config = <<__CONFIG; log4perl.category.$name = INFO, Logfile log4perl.appender.Logfile = Log::Log4perl::Appender::File log4perl.appender.Logfile.filename = $outfn log4perl.appender.Logfile.layout = Log::Log4perl::Layout::PatternLayout log4perl.appender.Logfile.layout.ConversionPattern = %d %F{1} %L> %m __CONFIG
dispatcher 'Log::Log4perl' => $name, config => \$config;
This dispatchers produces output tot syslog, based on the Sys::Log4perl
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 Log::Dispatch. However: they have a different approach. The REASON of Log::Report limits the responsibility of the programmer to indicate the cause of the message: whether it was able to handle a certain situation. The Log::Dispatch levels are there for the user's of the program. However: the programmer does not known anything about the application (in the general case). This is cause of much of the trickery in Perl programs.
The default translation table is list below. You can change the mapping using new(to_level). See example in SYNOPSIS.
TRACE => $DEBUG ERROR => $ERROR ASSERT => $DEBUG FAULT => $ERROR INFO => $INFO ALERT => $FATAL NOTICE => $INFO FAILURE => $FATAL WARNING => $WARN PANIC => $FATAL MISTAKE => $WARN
$obj->close
See Constructors in the Log::Report::Dispatcher manpage
Log::Report::Dispatcher::Log4perl->new(TYPE, NAME, OPTIONS)
The Log::Log4perl infrastructure has all information in a configuration file. In that file, you should find a category with the NAME.
Option --Defined in --Default accept Log::Report::Dispatcher depend on mode charset Log::Report::Dispatcher UTF-8 or UTF-16 config <required> format_reason Log::Report::Dispatcher 'LOWERCASE' locale Log::Report::Dispatcher <system locale> mode Log::Report::Dispatcher 'NORMAL' to_level []
. accept => REASONS
. charset => CHARSET
. config => FILENAME|SCALAR
When a SCALAR reference is passed in, that must refer to a string which contains the configuration text. Otherwise, specify an existing FILENAME.
. format_reason => 'UPPERCASE'|'LOWERCASE'|'UCFIRST'|'IGNORE'|CODE
. locale => LOCALE
. mode => 'NORMAL'|'VERBOSE'|'ASSERT'|'DEBUG'|0..3
. to_level => ARRAY-of-PAIRS
See reasonToLevel().
$obj->appender
Returns the Log::Log4perl::Logger object which is used for logging.
$obj->isDisabled
See Accessors in the Log::Report::Dispatcher manpage
$obj->mode
See Accessors in the Log::Report::Dispatcher manpage
$obj->name
See Accessors in the Log::Report::Dispatcher manpage
$obj->needs
See Accessors in the Log::Report::Dispatcher manpage
$obj->type
See Accessors in the Log::Report::Dispatcher manpage
$obj->collectLocation
Log::Report::Dispatcher::Log4perl->collectLocation
See Logging in the Log::Report::Dispatcher manpage
$obj->collectStack([MAXDEPTH])
See Logging in the Log::Report::Dispatcher manpage
$obj->log(HASH-of-OPTIONS, REASON, MESSAGE)
See Logging in the Log::Report::Dispatcher manpage
$obj->reasonToLevel(REASON)
Returns a level which is understood by Log::Dispatch, based on a translation table. This can be changed with new(to_level).
$obj->stackTraceLine(OPTIONS)
Log::Report::Dispatcher::Log4perl->stackTraceLine(OPTIONS)
See Logging in the Log::Report::Dispatcher manpage
$obj->translate(HASH-of-OPTIONS, REASON, MESSAGE)
See Logging in the Log::Report::Dispatcher manpage
This module is part of Log-Report distribution version 0.19, built on November 24, 2008. Website: http://perl.overmeer.net/log-report/
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