As noted in the documentation of cpan, you indeed can initialized it in two ways:
Either via Perl commands or via a log4j-style configuration file.
Since this is the easiest way (and i consider it more maintainable / readable), i'd use the log4j style config file:
#log.conf:
log4perl.rootLogger=ERROR, LOGFILE
log4perl.appender.LOGFILE=Log::Log4perl::Appender::File
log4perl.appender.LOGFILE.filename=/var/log/myerrs.log
log4perl.appender.LOGFILE.mode=append
log4perl.appender.LOGFILE.layout=PatternLayout
log4perl.appender.LOGFILE.layout.ConversionPattern=[%r] %F %L %c - %m%
+n
# in your perl-script:
use Log::Log4perl;
Log::Log4perl->init("log.conf");
# Anywhere you log:
package blah;
use Log::Log4perl;
sub new() {
...
$self->{debug} = $debug;
...
}
sub method {
my $self=shift;
my($param) = @_;
my $log = Log::Log4perl->get_logger("blah");
$log->debug("Debug ...") if $self->{debug};
$log->info("Info ...") if $ $self->{debug};
$log->error("Error ...") if $self->{debug};
All examples ar shamelesly taken from the Log::Log4perl docs.
"We all agree on the necessity of compromise. We just can't agree on when it's necessary to compromise." - Larry Wall.
|