summaryrefslogtreecommitdiff
path: root/t/057MsgChomp.t
blob: b3c047bff127590e4e4cf80c5f897d63be7d3e8e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
###########################################
# 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 /);