perltidy code and add .perltidyrc to repo
[p5sagit/Log-Contextual.git] / t / package_logger.t
CommitLineData
e2b4b29c 1use strict;
2use warnings;
3
4use Log::Contextual qw{:log with_logger set_logger};
5use Log::Contextual::SimpleLogger;
6use Test::More qw(no_plan);
7my $var1;
8my $var2;
9my $var3;
10my $var_logger1 = Log::Contextual::SimpleLogger->new({
6ae293d7 11 levels => [qw(trace debug info warn error fatal)],
12 coderef => sub { $var1 = shift },
e2b4b29c 13});
14my $var_logger2;
6ae293d7 15
e2b4b29c 16BEGIN {
17 $var_logger2 = Log::Contextual::SimpleLogger->new({
6ae293d7 18 levels => [qw(trace debug info warn error fatal)],
19 coderef => sub { $var2 = shift },
20 })
e2b4b29c 21}
22
23my $var_logger3;
6ae293d7 24
e2b4b29c 25BEGIN {
26 $var_logger3 = Log::Contextual::SimpleLogger->new({
6ae293d7 27 levels => [qw(trace debug info warn error fatal)],
28 coderef => sub { $var3 = shift },
29 })
e2b4b29c 30}
31
32{
6ae293d7 33
e2b4b29c 34 package J;
6ae293d7 35 use Log::Contextual qw{:dlog :log with_logger set_logger},
36 -package_logger => $var_logger3;
e2b4b29c 37
38 sub foo {
39 log_debug { 'bar' };
40 }
6ae293d7 41
e2b4b29c 42 sub bar {
43 Dlog_debug { "bar: $_" } 'frew';
44 }
45}
46
47{
6ae293d7 48
e2b4b29c 49 package K;
6ae293d7 50 use Log::Contextual qw{:log with_logger set_logger},
51 -package_logger => $var_logger2;
e2b4b29c 52
53 sub foo {
54 log_debug { 'foo' };
55 }
56}
57J::foo;
58K::foo;
59
60is($var2, "[debug] foo\n", 'package_logger works for one package');
61is($var3, "[debug] bar\n", 'package_logger works for both packages');
62J::bar;
63is($var3, qq([debug] bar: "frew"\n), 'package_logger works for one package');
64$var2 = '';
65$var1 = '';
66set_logger($var_logger1);
67
68K::foo;
6ae293d7 69is($var1, q(), '... and set_logger does not win');
e2b4b29c 70is($var2, "[debug] foo\n", '... and package_logger still gets the value');