########################################### # Test Suite for Log::Log4perl # Mike Schilli, 2002 (m@perlmeister.com) ########################################### BEGIN { if($ENV{INTERNAL_DEBUG}) { require Log::Log4perl::InternalDebug; Log::Log4perl::InternalDebug->enable(); } } use warnings; use strict; use Test::More; BEGIN { plan tests => 4 }; use Log::Log4perl qw(:easy); ######################################################### # double newline ######################################################### my $conf = q( log4perl.category = DEBUG, Buffer log4perl.appender.Buffer = Log::Log4perl::Appender::TestBuffer log4perl.appender.Buffer.layout = Log::Log4perl::Layout::PatternLayout log4perl.appender.Buffer.layout.ConversionPattern = %d %F{1} %L> %m%n ); Log::Log4perl->init( \$conf ); my $buf = Log::Log4perl::Appender::TestBuffer->by_name("Buffer"); DEBUG "blah\n"; DEBUG "blah\n"; unlike($buf->buffer(), qr/blah\n\n/); ######################################################### # turn default %m%n chomping feature off ######################################################### $conf = q( log4perl.category = DEBUG, Buffer log4perl.appender.Buffer = Log::Log4perl::Appender::TestBuffer log4perl.appender.Buffer.layout = Log::Log4perl::Layout::PatternLayout log4perl.appender.Buffer.layout.ConversionPattern = %d %F{1} %L> %m%n log4perl.appender.Buffer.layout.message_chomp_before_newline = 0 ); Log::Log4perl->init( \$conf ); $buf = Log::Log4perl::Appender::TestBuffer->by_name("Buffer"); DEBUG "blah\n"; DEBUG "blah\n"; like($buf->buffer(), qr/blah\n\n/); ######################################################### # %m without chomp ######################################################### $conf = q( log4perl.category = DEBUG, Buffer log4perl.appender.Buffer = Log::Log4perl::Appender::TestBuffer log4perl.appender.Buffer.layout = Log::Log4perl::Layout::PatternLayout log4perl.appender.Buffer.layout.ConversionPattern = %m foo %n ); Log::Log4perl->init( \$conf ); $buf = Log::Log4perl::Appender::TestBuffer->by_name("Buffer"); DEBUG "blah\n"; like($buf->buffer(), qr/blah\n foo/); ######################################################### # try %m{chomp} ######################################################### $conf = q( log4perl.category = DEBUG, Buffer log4perl.appender.Buffer = Log::Log4perl::Appender::TestBuffer log4perl.appender.Buffer.layout = Log::Log4perl::Layout::PatternLayout log4perl.appender.Buffer.layout.ConversionPattern = %m{chomp} foo %n ); Log::Log4perl->init( \$conf ); $buf = Log::Log4perl::Appender::TestBuffer->by_name("Buffer"); DEBUG "blah\n"; DEBUG "blah\n"; like($buf->buffer(), qr/blah foo /);