7 use My::Module; # makes use of Log::Contextual::Easy::Default;
8 use My::Module2; # makes use of Log::Contextual::Easy::Package;
10 # capture logging messages of My::Module, mapping "[...] xxx" to "...$sep"
15 s/^\[(.+)\] (xxx|"xxx")\n$/$1$sep/;
21 my ($cap_warn, $cap_with, $cap_set);
22 local $SIG{__WARN__} = logshort \$cap_warn, '!';
27 is($cap_warn, undef, 'no logging by default');
31 local $ENV{MY_MODULE_UPTO} = 'info';
32 local $ENV{MY_MODULE2_UPTO} = 'info';
35 is($cap_warn, "info!warn!error!fatal!info!warn!error!fatal!", 'WarnLogger enabled via ENV');
40 use Log::Contextual::SimpleLogger;
41 use Log::Contextual qw(with_logger set_logger);
43 set_logger( Log::Contextual::SimpleLogger->new({
44 levels => [qw(info warn error)],
45 coderef => logshort \$cap_set, '/'
48 my $with_logger = Log::Contextual::SimpleLogger->new({
49 levels => [qw(trace info fatal)],
50 coderef => logshort \$cap_with, '|'
53 with_logger $with_logger => sub {
55 My::Module2::log(); # will not be overridden
57 is($cap_with, 'trace|info|fatal|', 'with_logger');
60 My::Module2::log(); # will not be overridden
61 is($cap_set, 'info/warn/error/', 'set_logger');
63 is($cap_warn, '', 'no warnings if with_logger or set_logger');