File Coverage

blib/lib/Log/Any/Plugin.pm
Criterion Covered Total %
statement 24 24 100.0
branch 1 2 50.0
condition n/a
subroutine 7 7 100.0
pod 1 1 100.0
total 33 34 97.0


line stmt bran cond sub pod time code
1             package Log::Any::Plugin;
2             # ABSTRACT: Adapter-modifying plugins for Log::Any
3             $Log::Any::Plugin::VERSION = '0.012';
4 7     7   474921 use strict;
  7         74  
  7         180  
5 7     7   33 use warnings;
  7         11  
  7         163  
6              
7 7     7   2758 use Log::Any 1.00;
  7         61486  
  7         32  
8 7     7   3195 use Log::Any::Plugin::Util qw( get_class_name );
  7         15  
  7         332  
9              
10 7     7   2596 use Class::Load qw( try_load_class );
  7         116214  
  7         380  
11 7     7   51 use Carp qw( croak );
  7         14  
  7         860  
12              
13             sub add {
14 10     10 1 21093 my ($class, $plugin_class, %plugin_args) = @_;
15              
16 10         43 my $adapter_class = ref Log::Any->get_logger(category => caller());
17              
18 10         1245 $plugin_class = get_class_name($plugin_class);
19              
20 10         48 my ($loaded, $error) = try_load_class($plugin_class);
21 10 50       476 die $error unless $loaded;
22              
23 10         63 $plugin_class->install($adapter_class, %plugin_args);
24             }
25              
26             1;
27              
28             __END__