6 use Log::Contextual qw{:log with_logger set_logger};
7 use Test::More qw(no_plan);
8 my $var_logger1 = VarLogger->new;
9 my $var_logger2 = VarLogger->new;
10 my $var_logger3 = VarLogger->new;
13 with_logger sub { $var_logger2 } => sub {
15 with_logger $var_logger1 => sub {
16 log_debug { 'nothing!' }
18 log_debug { 'frew!' };
22 is( $var_logger1->var, 'dnothing!', 'inner scoped logger works' );
23 is( $var_logger2->var, 'dfrew!', 'outer scoped logger works' );
27 set_logger(sub { $var_logger3 });
28 log_debug { 'set_logger' };
29 is( $var_logger3->var, 'dset_logger', 'set logger works' );
33 with_logger $var_logger1 => sub {
34 log_debug { 'nothing again!' };
35 set_logger(sub { $var_logger3 });
36 log_debug { 'this is a set inside a with' };
39 is( $var_logger1->var, 'dnothing again!',
40 'inner scoped logger works after using set_logger'
43 is( $var_logger3->var, 'dthis is a set inside a with',
44 'set inside with works'
47 log_debug { 'frioux!' };
48 is( $var_logger3->var, 'dfrioux!',
49 q{set_logger's logger comes back after scoped logger}
54 log_trace { 'fiSMBoC' };
55 is( $var_logger3->var, 'tfiSMBoC', 'trace works');
57 log_debug { 'fiSMBoC' };
58 is( $var_logger3->var, 'dfiSMBoC', 'debug works');
60 log_info { 'fiSMBoC' };
61 is( $var_logger3->var, 'ifiSMBoC', 'info works');
63 log_warn { 'fiSMBoC' };
64 is( $var_logger3->var, 'wfiSMBoC', 'warn works');
66 log_error { 'fiSMBoC' };
67 is( $var_logger3->var, 'efiSMBoC', 'error works');
69 log_fatal { 'fiSMBoC' };
70 is( $var_logger3->var, 'ffiSMBoC', 'fatal works');
74 ok(!eval { Log::Contextual->import; 1 }, 'Blank Log::Contextual import dies');