File Coverage

blib/lib/Log/ger/Format/Default.pm
Criterion Covered Total %
statement 9 25 36.0
branch 1 10 10.0
condition n/a
subroutine 3 6 50.0
pod 0 2 0.0
total 13 43 30.2


line stmt bran cond sub pod time code
1             package Log::ger::Format::Default;
2              
3 1     1   357829 use strict;
  1         2  
  1         46  
4 1     1   56 use warnings;
  1         4  
  1         370  
5              
6             our $AUTHORITY = 'cpan:PERLANCAR'; # AUTHORITY
7             our $DATE = '2023-12-29'; # DATE
8             our $DIST = 'Log-ger'; # DIST
9             our $VERSION = '0.042'; # VERSION
10              
11             sub meta { +{
12 0     0 0   v => 2,
13             } }
14              
15             sub get_hooks {
16 0     0 0   my %conf = @_;
17              
18             return {
19             create_formatter => [
20             __PACKAGE__, # key
21             50, # priority
22             sub { # hook
23 0     0     my %hook_args = @_; # see Log::ger::Manual::Internals/"Arguments passed to hook"
24              
25              
26             my $formatter =
27              
28             # the default formatter is sprintf-style that dumps data
29             # structures arguments as well as undef as ''.
30             sub {
31 0 0         return $_[0] if @_ < 2;
32 0           my $fmt = shift;
33 0           my @args;
34 0           for (@_) {
35 0 0         if (!defined($_)) {
    0          
36 0           push @args, '';
37             } elsif (ref $_) {
38 0 0         require Log::ger::Util unless $Log::ger::_dumper;
39 0           push @args, Log::ger::Util::_dump($_);
40             } else {
41 0           push @args, $_;
42             }
43             }
44             # redefine is just a dummy category for perls < 5.22 which
45             # don't have 'redundant' yet
46 1 50   1   8 no warnings ($warnings::Bits{'redundant'} ? 'redundant' : 'redefine');
  1         2  
  1         144  
47 0           sprintf $fmt, @args;
48 0           };
49              
50 0           [$formatter];
51              
52              
53 0           }],
54             };
55             }
56              
57             1;
58             # ABSTRACT: Use default Log::ger formatting style
59              
60             __END__