Commit | Line | Data |
3ccc9c47 |
1 | use strict; |
2 | use warnings; |
3 | |
4 | use Log::Contextual qw{:log with_logger set_logger}; |
5 | use Log::Contextual::SimpleLogger; |
6 | use Test::More qw(no_plan); |
7 | my $var1; |
8 | my $var2; |
9 | my $var3; |
10 | my $var_logger1 = Log::Contextual::SimpleLogger->new({ |
11 | levels => [qw(trace debug info warn error fatal)], |
12 | coderef => sub { $var1 = shift }, |
13 | }); |
14 | my $var_logger2; |
15 | BEGIN { |
16 | $var_logger2 = Log::Contextual::SimpleLogger->new({ |
17 | levels => [qw(trace debug info warn error fatal)], |
18 | coderef => sub { $var2 = shift }, |
19 | }) |
20 | } |
21 | |
22 | my $var_logger3; |
23 | BEGIN { |
24 | $var_logger3 = Log::Contextual::SimpleLogger->new({ |
25 | levels => [qw(trace debug info warn error fatal)], |
26 | coderef => sub { $var3 = shift }, |
27 | }) |
28 | } |
29 | |
30 | { |
31 | package J; |
d11de6ae |
32 | use Log::Contextual qw{:dlog :log with_logger set_logger}, -default_logger => $var_logger3; |
3ccc9c47 |
33 | |
34 | sub foo { |
35 | log_debug { 'bar' }; |
36 | } |
d11de6ae |
37 | sub bar { |
38 | Dlog_debug { "bar: $_" } 'frew'; |
39 | } |
3ccc9c47 |
40 | } |
41 | |
42 | { |
43 | package K; |
44 | use Log::Contextual qw{:log with_logger set_logger}, -default_logger => $var_logger2; |
45 | |
46 | sub foo { |
47 | log_debug { 'foo' }; |
48 | } |
49 | } |
50 | J::foo; |
51 | K::foo; |
52 | |
53 | is($var2, "[debug] foo\n", 'default_logger works for one package'); |
54 | is($var3, "[debug] bar\n", 'default_logger works for both packages'); |
d11de6ae |
55 | J::bar; |
56 | is($var3, qq([debug] bar: "frew"\n), 'default_logger works for one package'); |
3ccc9c47 |
57 | $var2 = ''; |
58 | set_logger($var_logger1); |
59 | |
60 | K::foo; |
61 | is($var2, q(), '... but set_logger wins'); |
62 | is($var1, "[debug] foo\n", '... and gets the value'); |