Beefy Boxes and Bandwidth Generously Provided by pair Networks
good chemistry is complicated,
and a little bit messy -LW

Best Practice for Integrating log4perl

by jthalhammer (Friar)
on Aug 24, 2005 at 04:17 UTC ( #486087=perlquestion: print w/ replies, xml ) Need Help??
jthalhammer has asked for the wisdom of the Perl Monks concerning the following question:

Dear Monks,

My team is eager to adopt log4perl, but we don't agree on how to integrate it with our system. In your experience, how do most people it? Do they create wrappers, make subclasses, or just use native log4perl interface? What criteria do they use for making that decision? Thanks

Comment on Best Practice for Integrating log4perl
Re: Best Practice for Integrating log4perl
by jbrugger (Parson) on Aug 24, 2005 at 05:38 UTC
    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.

Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: perlquestion [id://486087]
Approved by ysth
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others avoiding work at the Monastery: (8)
As of 2014-11-26 23:43 GMT
Find Nodes?
    Voting Booth?

    My preferred Perl binaries come from:

    Results (177 votes), past polls