File Coverage

blib/lib/Log/Contextual/TeeLogger.pm
Criterion Covered Total %
statement 9 22 40.9
branch 0 4 0.0
condition n/a
subroutine 3 6 50.0
pod 1 1 100.0
total 13 33 39.3


line stmt bran cond sub pod time code
1             package Log::Contextual::TeeLogger;
2 1     1   240455 use strict;
  1         2  
  1         49  
3 1     1   6 use warnings;
  1         2  
  1         115  
4              
5             our $VERSION = '0.009001';
6              
7             {
8             for my $name (qw( trace debug info warn error fatal )) {
9              
10 1     1   9 no strict 'refs';
  1         2  
  1         343  
11              
12             *{$name} = sub {
13 0     0     my $self = shift;
14              
15 0           foreach my $logger (@{$self->{loggers}}) {
  0            
16 0           $logger->$name(@_);
17             }
18             };
19              
20             my $is_name = "is_${name}";
21              
22             *{$is_name} = sub {
23 0     0     my $self = shift;
24 0           foreach my $logger (@{$self->{loggers}}) {
  0            
25 0 0         return 1 if $logger->$is_name(@_);
26             }
27 0           return 0;
28             };
29             }
30             }
31              
32             sub new {
33 0     0 1   my ($class, $args) = @_;
34 0           my $self = bless {}, $class;
35              
36 0 0         ref($self->{loggers} = $args->{loggers}) eq 'ARRAY'
37             or die "No loggers passed to tee logger";
38              
39 0           return $self;
40             }
41              
42             1;
43              
44             __END__