1########################################### 2# Test Suite for Log::Log4perl 3# Mike Schilli, 2002 (m@perlmeister.com) 4########################################### 5 6BEGIN { 7 if($ENV{INTERNAL_DEBUG}) { 8 require Log::Log4perl::InternalDebug; 9 Log::Log4perl::InternalDebug->enable(); 10 } 11} 12 13use warnings; 14use strict; 15 16use Test::More; 17BEGIN { plan tests => 4 }; 18 19use Log::Log4perl qw(:easy); 20 21######################################################### 22# double newline 23######################################################### 24my $conf = q( 25 log4perl.category = DEBUG, Buffer 26 log4perl.appender.Buffer = Log::Log4perl::Appender::TestBuffer 27 log4perl.appender.Buffer.layout = Log::Log4perl::Layout::PatternLayout 28 log4perl.appender.Buffer.layout.ConversionPattern = %d %F{1} %L> %m%n 29); 30 31Log::Log4perl->init( \$conf ); 32my $buf = Log::Log4perl::Appender::TestBuffer->by_name("Buffer"); 33 34DEBUG "blah\n"; 35DEBUG "blah\n"; 36 37unlike($buf->buffer(), qr/blah\n\n/); 38 39######################################################### 40# turn default %m%n chomping feature off 41######################################################### 42$conf = q( 43 log4perl.category = DEBUG, Buffer 44 log4perl.appender.Buffer = Log::Log4perl::Appender::TestBuffer 45 log4perl.appender.Buffer.layout = Log::Log4perl::Layout::PatternLayout 46 log4perl.appender.Buffer.layout.ConversionPattern = %d %F{1} %L> %m%n 47 log4perl.appender.Buffer.layout.message_chomp_before_newline = 0 48); 49 50Log::Log4perl->init( \$conf ); 51$buf = Log::Log4perl::Appender::TestBuffer->by_name("Buffer"); 52 53DEBUG "blah\n"; 54DEBUG "blah\n"; 55like($buf->buffer(), qr/blah\n\n/); 56 57######################################################### 58# %m without chomp 59######################################################### 60$conf = q( 61 log4perl.category = DEBUG, Buffer 62 log4perl.appender.Buffer = Log::Log4perl::Appender::TestBuffer 63 log4perl.appender.Buffer.layout = Log::Log4perl::Layout::PatternLayout 64 log4perl.appender.Buffer.layout.ConversionPattern = %m foo %n 65); 66 67Log::Log4perl->init( \$conf ); 68$buf = Log::Log4perl::Appender::TestBuffer->by_name("Buffer"); 69 70DEBUG "blah\n"; 71like($buf->buffer(), qr/blah\n foo/); 72 73######################################################### 74# try %m{chomp} 75######################################################### 76$conf = q( 77 log4perl.category = DEBUG, Buffer 78 log4perl.appender.Buffer = Log::Log4perl::Appender::TestBuffer 79 log4perl.appender.Buffer.layout = Log::Log4perl::Layout::PatternLayout 80 log4perl.appender.Buffer.layout.ConversionPattern = %m{chomp} foo %n 81); 82 83Log::Log4perl->init( \$conf ); 84$buf = Log::Log4perl::Appender::TestBuffer->by_name("Buffer"); 85 86DEBUG "blah\n"; 87DEBUG "blah\n"; 88like($buf->buffer(), qr/blah foo /); 89