SYNOPSIS

 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;

See SYNOPSIS in Log::Report::Dispatcher

DESCRIPTION

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 miuch 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

See DESCRIPTION in Log::Report::Dispatcher

DETAILS