NAME
Log::Log4perl::Appender - Log appender object
SYNOPSIS
use Log::Log4perl::Appender;
# Define a logger
my $logger = Log::Log4perl->get_logger("abc.def.ghi");
# Define a layout
my $layout = Log::Log4perl::Layout::PatternLayout->("%d (%F:%L)> %m");
# Define an appender
my $appender = Log::Log4perl::Appender->new("Log::Dispatch::Screen"
name => 'dumpy');
# Set the appender's layout
$appender->layout($layout);
$logger->add_appender($appender);
DESCRIPTION
This class is a wrapper around the Log::Dispatch::* collection of dispatchers. It hides the idiosyncrasies of Log::Dispatch (every dispatcher gotta have a name, but there's no accessor to retrieve it) from Log::Log4perl and yet re-uses the extremely useful variety of dispatchers already created and tested in Log::Dispatch.
The constructor new() takes the name of the Log::Dispatcher class to be created as a string (!) argument, optionally followed by a number of Log::Dispatcher::Whatever-specific parameters, for example:
# Define an appender
my $appender = Log::Log4perl::Appender->new("Log::Dispatch::File"
name => 'dumpy',
file => 'out.log');
If no name parameter is specified, the appender object will create a unique one (format appNNN), which can be retrieved later via the name() method:
print "The appender's name is ", $appender->name(), "\n";
The Log::Log4perl::Appender will relay the log_to() method to the Log::Dispatch::* object it carries in its womb and can therefore be used by Log::Log4perl just like a Log::Dispatch::* appender.
SEE ALSO
AUTHOR
Mike Schilli, <m@perlmeister.com>