4 use Log::Contextual::SimpleLogger;
9 $var_logger2 = Log::Contextual::SimpleLogger->new({
10 levels => [qw(trace debug info warn error fatal)],
11 coderef => sub { $var2 = shift },
15 use Log::Contextual qw{:log with_logger set_logger set_logger_for},
16 -logger_for => { 'MyApp::View' => $var_logger2 },
17 -logger => 'MyApp::View';
18 use Test::More qw(no_plan);
23 my $var_logger1 = Log::Contextual::SimpleLogger->new({
24 levels => [qw(trace debug info warn error fatal)],
25 coderef => sub { $var1 = shift },
28 my $var_logger3 = Log::Contextual::SimpleLogger->new({
29 levels => [qw(trace debug info warn error fatal)],
30 coderef => sub { $var3 = shift },
33 set_logger_for 'MyApp::Model' => $var_logger1;
34 set_logger_for 'MyApp::Controller' => sub {
36 Log::Contextual::SimpleLogger->new({
37 levels => [qw(trace debug info warn error fatal)],
38 coderef => sub { $var3 = (shift @_) . $package },
43 log_debug { 'should log to $var2 from global' };
44 is($var2, "[debug] should log to \$var2 from global\n", 'tag from -logger works');
47 with_logger 'MyApp::Model' => sub {
48 log_debug { 'should log to $var1' };
51 is($var1, "[debug] should log to \$var1\n", 'basic tag works');
53 with_logger 'MyApp::View' => sub {
54 log_debug { 'should log to $var2' };
57 is($var2, "[debug] should log to \$var2\n", 'basic tag from -logger_for works');
59 with_logger 'MyApp::Controller' => sub { Animorph::lol() };
61 is($var3, "[debug] should log to \$var3\nAnimorph", 'with logger outside of package works');
67 is($var3, "[debug] should log to \$var3\nZilog", '-package_logger => "named_logger" works');
73 is($var3, "[debug] should log to \$var3\nMario", '-default_logger => "named_logger" works');
77 use Log::Contextual ':log';
79 sub lol { log_debug { 'should log to $var3' } }
84 use Log::Contextual ':log', -package_logger => 'MyApp::Controller';
86 sub lol { log_debug { 'should log to $var3' } }
91 use Log::Contextual ':log', -default_logger => 'MyApp::Controller';
93 sub lol { warn "foo"; log_debug { 'should log to $var3' } }