Here:
use strict; use warnings; use Log::Log4perl qw(:easy); my $conf = <<EOT; log4perl.category = TRACE, Screen # Regular Screen Appender log4perl.appender.Screen = Log::Log4perl::Appender::Screen log4perl.appender.Screen.stdout = 1 log4perl.appender.Screen.layout = PatternLayout log4perl.appender.Screen.Threshold = TRACE log4perl.appender.Screen.layout.ConversionPattern = %m%n # File appender log4perl.rootLogger = DEBUG, Log1 log4perl.appender.Log1 = Log::Log4perl::Appender::File log4perl.appender.Log1.mode = append log4perl.appender.Log1.autoflush = 0 log4perl.appender.Log1.layout = Log::Log4perl::Layout::SimpleLayout log4perl.appender.Log1.filename = test.log log4perl.appender.Log1.Threshold = INFO EOT Log::Log4perl->init(\$conf); TRACE("message #1 (screen only)"); INFO("message #2"); INFO("message #3"); sleep(10); ERROR("message #4");
In my play around, I found that buffering only reliably works when buffering to screen (which makes sense, given that switching off autoflush effectively buffers file output).
In reply to Re: combine logentries with Log::log4perl
by SimonPratt
in thread combine logentries with Log::log4perl
by Anonymous Monk
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |