Codebase list liblog-report-perl / v1.24
distribution Log-Report-1.24.tar.gz Mark Overmeer authored 6 years ago Mark Overmeer committed 6 years ago
5 changed file(s) with 36 addition(s) and 12 deletion(s). Raw diff Collapse all Expand all
55
66 TODO:
77 . connect to Message::Passing framework
8
9 version 1.24: Fri 8 Dec 09:10:18 CET 2017
10
11 Fixes:
12 - $msg->toString should stringify when append/prepend are objects.
13 rt.cpan.org#123835 [Andy Beverley]
14
15 Improvements:
16 - Log4perl dispatcher: do accept init of Log::Log4perl outside the
17 dispatcher [Abe Timmerman]
818
919 version 1.23: Thu 2 Nov 10:40:24 CET 2017
1020
99109
100110 Fixes:
101111 - dancer2: regression test only for recent Dancer2 [cpantesters]
112 rt.cpan.org#111770 [Riba Sushi]
102113
103114 Improvements:
104115 - typo rt.cpan.org#111985 [Gregor Herrmann, Debian]
11
22 use 5.010;
33
4 my $version = '1.23';
4 my $version = '1.24';
55
66 my %prereq =
77 ( Test::More => '0.86'
109109 =default to_level []
110110 See M<reasonToLevel()>.
111111
112 =requires config FILENAME|SCALAR
112 =option config FILENAME|SCALAR
113 =default config <undef>
113114 When a SCALAR reference is passed in, that must refer to a string which
114115 contains the configuration text. Otherwise, specify an existing FILENAME.
115116
117 By default, it is expected that M<Log::Log4perl> has been initialized
118 externally. That module uses global variables to communicate, which
119 should be present before any logging is attempted.
120
116121 =default accept 'ALL'
122
117123 =cut
118124
119125 sub init($)
122128 $self->SUPER::init($args);
123129
124130 my $name = $self->name;
125 my $config = delete $args->{config}
126 or error __x"Log4perl back-end {name} requires a 'config' parameter"
127 , name => $name;
128131
129132 $self->{LRDL_levels} = { %default_reasonToLevel };
130133 if(my $to_level = delete $args->{to_level})
141144 }
142145 }
143146
144 Log::Log4perl->init($config)
145 or return;
147 if(my $config = delete $args->{config}) {
148 Log::Log4perl->init($config) or return;
149 }
146150
147151 $self;
148152 }
376376 my $count = $self->{_count} || 0;
377377 $locale = $self->{_lang} if $self->{_lang};
378378
379 my $prepend = $self->{_prepend} // '';
380 my $append = $self->{_append} // '';
381
382 $prepend = "$prepend" if blessed $prepend;
383 $append = "$append" if blessed $append;
384
379385 $self->{_msgid} # no translation, constant string
380 or return (defined $self->{_prepend} ? $self->{_prepend} : '')
381 . (defined $self->{_append} ? $self->{_append} : '');
386 or return "$prepend$append";
382387
383388 # assumed is that switching locales is expensive
384389 my $oldloc = setlocale(LC_MESSAGES);
396401 # fill-in the fields
397402 my $text = $self->{_expand}
398403 ? $domain->interpolate($format, $self)
399 : ($self->{_prepend} // '') . $format . ($self->{_append} // '');
404 : "$prepend$format$append";
400405
401406 setlocale(LC_MESSAGES, $oldloc)
402407 if defined $oldloc && (!defined $locale || $oldloc ne $locale);
44 use strict;
55 use lib 'lib', '../lib';
66
7 use Test::More tests => 15;
7 use Test::More tests => 16;
88
99 use Log::Report; # no domains, no translator
10 use Scalar::Util qw/refaddr/;
10 use Scalar::Util qw/refaddr blessed/;
1111
1212 ### examples from Log::Report::Message and more
1313
3636 my $e = "$h $w\n";
3737 isa_ok($e, 'Log::Report::Message');
3838 is("$e", "Hello World!\n");
39
40 ### issue #123835
41
42 ok ! blessed(($h.$w)->toString), 'append/prepend must be stringified as well';