http://www.perlmonks.org?node_id=1140869


in reply to Re: combine logentries with Log::log4perl
in thread combine logentries with Log::log4perl

sure, that's just a simplification but it shows
the same strange symptoms:

use Log::Log4perl qw(:easy); $conf = <<EOT; log4perl.rootLogger = DEBUG, Log1 log4perl.appender.Log1 = Log::Log4perl::Appender::File log4perl.appender.Log1.filename = /tmp/test.log log4perl.appender.Log1.mode = append log4perl.appender.Log1.layout = Log::Log4perl::Layout::SimpleLayout log4perl.appender.Log1.Threshold = INFO log4perl.logger = TRACE, Log2 log4perl.appender.Log2 = Log::Log4perl::Appender::ScreenColoredLevels log4perl.appender.Log2.layout = Log::Log4perl::Layout::PatternLayout log4perl.appender.Log2.layout.ConversionPattern = %m%n log4perl.category = DEBUG, Buffer log4perl.appender.Buffer = Log::Log4perl::Appender::Buffer log4perl.appender.Buffer.appender = Log1 log4perl.appender.Buffer.trigger_level = ERROR EOT Log::Log4perl->init(\$conf); TRACE("message #1 (screen only)"); INFO("message #2"); INFO("message #3"); sleep(10); ERROR("message #4");

when i run this, i get on screen:

message #2 message #3 message #4

and in the file:

INFO - message #2 INFO - message #3 INFO - message #2 INFO - message #3 ERROR - message #4 ERROR - message #4

the first two lines of the log file appear at the same time like the ones on the screen. the first line (message #1) to the screen appender just disappears but in the log file message #2, #3 & #4 get doubled when the ERROR trigger got hit.

very odd behaviour. didn't match my expectations.

greetings