File Coverage

blib/lib/Log/Any/Adapter/MojoLog.pm
Criterion Covered Total %
statement 18 18 100.0
branch 1 2 50.0
condition 1 3 33.3
subroutine 8 8 100.0
pod 0 1 0.0
total 28 32 87.5


line stmt bran cond sub pod time code
1             package Log::Any::Adapter::MojoLog;
2              
3 1     1   891928 use strict;
  1         2  
  1         41  
4 1     1   4 use warnings;
  1         3  
  1         93  
5              
6             our $VERSION = '0.05';
7             $VERSION = eval $VERSION;
8              
9 1     1   781 use Log::Any::Adapter::Util qw(make_method);
  1         12017  
  1         77  
10 1     1   10 use base qw(Log::Any::Adapter::Base);
  1         4  
  1         727  
11              
12 1     1   929 use Mojo::Log;
  1         4  
  1         14  
13              
14 1   33 1 0 277741 sub init { $_[0]->{logger} ||= Mojo::Log->new }
15              
16             # Create logging methods
17             #
18             foreach my $method ( Log::Any->logging_methods ) {
19             my $mojo_method = $method;
20              
21             # Map log levels down to Mojo::Log levels where necessary
22             #
23             for ($mojo_method) {
24             s/notice/info/;
25             s/warning/warn/;
26             s/critical|alert|emergency/fatal/;
27             }
28              
29             make_method(
30             $method,
31 9     9   387 sub { shift->{logger}->$mojo_method(@_) }
32             );
33             }
34              
35             # Create detection methods: is_debug, is_info, etc.
36             #
37              
38             foreach my $method ( Log::Any->detection_methods ) {
39             my $level = $method;
40             $level =~ s/^is_//;
41              
42             # Map log levels down to Mojo::Log levels where necessary
43             #
44             for ($level) {
45             s/notice/info/;
46             s/warning/warn/;
47             s/critical|alert|emergency/fatal/;
48             }
49              
50             make_method(
51             $method,
52 27 50   27   20560 sub { $_[0]->{logger}->is_level($level ? $level : ()) }
53             );
54             }
55              
56             1;
57              
58             __END__