File Coverage

blib/lib/Ukigumo/Logger.pm
Criterion Covered Total %
statement 29 29 100.0
branch n/a
condition n/a
subroutine 9 9 100.0
pod n/a
total 38 38 100.0


line stmt bran cond sub pod time code
1             package Ukigumo::Logger;
2 1     1   50836 use strict;
  1         2  
  1         33  
3 1     1   6 use warnings;
  1         2  
  1         30  
4 1     1   942 use Log::Minimal;
  1         20383  
  1         8  
5              
6 1     1   919 use Mouse;
  1         539142  
  1         6  
7              
8             has prefix => (
9             is => 'ro',
10             isa => 'ArrayRef',
11             default => sub { +[ ] },
12             );
13              
14             has _prefix => (
15             is => 'ro',
16             isa => 'Str',
17             lazy => 1,
18             default => sub {
19             my $self = shift;
20             my $prefix = join ' ', @{$self->prefix};
21             $prefix .= ' ' if $prefix;
22             }
23             );
24              
25             has _infof => (
26             is => 'ro',
27             default => sub {
28             *Log::Minimal::infof{CODE};
29             },
30             );
31              
32             has _warnf => (
33             is => 'ro',
34             default => sub {
35             *Log::Minimal::warnf{CODE};
36             },
37             );
38              
39 1     1   515 no Mouse;
  1         2  
  1         5  
40              
41 1     1   105 no warnings qw/redefine/;
  1         2  
  1         139  
42              
43             sub infof {
44 2     2   3101 my ($self, @info) = @_;
45 2         5 local $Log::Minimal::TRACE_LEVEL = 1;
46 2         16 $info[0] = $self->_prefix . $info[0];
47 2         13 $self->_infof->(@info);
48             }
49              
50             sub warnf {
51 2     2   6543 my ($self, @warn) = @_;
52 2         5 local $Log::Minimal::TRACE_LEVEL = 1;
53 2         13 $warn[0] = $self->_prefix . $warn[0];
54 2         13 $self->_warnf->(@warn);
55             }
56              
57 1     1   5 use warnings;
  1         1  
  1         41  
58              
59             1;
60