From: Roger D. <rog...@gl...> - 2006-06-15 11:54:54
|
My logging situation is complex - the pseudo-code looks like this: <initialise main log> log to main log : : for 1 to n of builds log to main log : : <swap for local log for building component> log to local log : : <swap to main log> log to main log : : so I'm swapping appenders every so often, which is why I didn't use Log::Log4perl->init. In fact, I destroy the previous local-log appender. Or maybe I could us Log::Log4perl->init every time? Cheers Roger At 15/06/2006 07:52:05, Mike Schilli <m...@pe...> wrote: >On Wed, 14 Jun 2006, Roger Day wrote: > >> my $appender = Log::Log4perl::Appender->new( >> "Log::Dispatch::File", >> filename => $main_logpath, >> mode => "append", >> name >> =>$current_appender_name, >> level=>$INFO >> ); >> >> I'm doing this, but it doesn't seem to change the level of initialisation. >> Am I doing something wrong? > >I'd recommend using a Log4perl configuration file and the file >appender that comes with Log::Log4perl: > >use Log::Log4perl qw(:easy); > >my $conf = q{ >log4perl.category = DEBUG, Logfile >log4perl.appender.Logfile = Log::Log4perl::Appender::File >log4perl.appender.Logfile.mode = append >log4perl.appender.Logfile.filename = /tmp/test.log >log4perl.appender.Logfile.layout = Log::Log4perl::Layout::PatternLayout >log4perl.appender.Logfile.layout.ConversionPattern = %d %F{1} %L> %m%n >}; > >Log::Log4perl->init(\$conf); >DEBUG "Hey there!"; > >If you really need to use Log::Dispatch::File and the L4p API, here's >what I think you had in mind: > >use Log::Log4perl qw(get_logger :levels); > >my $logger = get_logger(""); >my $appender = Log::Log4perl::Appender->new( >"Log::Dispatch::File", >filename => "woot.txt", >mode => "append", >name => "quack", >min_level => "debug", >); >$logger->add_appender($appender); > >$logger->debug("waaa!"); > >-- Mike > >Mike Schilli >m...@pe... > |