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
-
Are you posting in the right place? Check out Where do I post X? to know for sure.
-
Posts may use any of the Perl Monks Approved HTML tags. Currently these include the following:
<code> <a> <b> <big>
<blockquote> <br /> <dd>
<dl> <dt> <em> <font>
<h1> <h2> <h3> <h4>
<h5> <h6> <hr /> <i>
<li> <nbsp> <ol> <p>
<small> <strike> <strong>
<sub> <sup> <table>
<td> <th> <tr> <tt>
<u> <ul>
-
Snippets of code should be wrapped in
<code> tags not
<pre> tags. In fact, <pre>
tags should generally be avoided. If they must
be used, extreme care should be
taken to ensure that their contents do not
have long lines (<70 chars), in order to prevent
horizontal scrolling (and possible janitor
intervention).
-
Want more info? How to link
or How to display code and escape characters
are good places to start.