line |
stmt |
bran |
cond |
sub |
pod |
time |
code |
1
|
|
|
|
|
|
|
package Shipwright::Logger; |
2
|
15
|
|
|
15
|
|
519
|
use strict; |
|
15
|
|
|
|
|
19
|
|
|
15
|
|
|
|
|
470
|
|
3
|
15
|
|
|
15
|
|
120
|
use warnings; |
|
15
|
|
|
|
|
17
|
|
|
15
|
|
|
|
|
339
|
|
4
|
15
|
|
|
15
|
|
3807
|
use Shipwright::Util; |
|
15
|
|
|
|
|
31
|
|
|
15
|
|
|
|
|
928
|
|
5
|
15
|
|
|
15
|
|
12180
|
use Log::Log4perl; |
|
15
|
|
|
|
|
588774
|
|
|
15
|
|
|
|
|
114
|
|
6
|
15
|
|
|
15
|
|
756
|
use Scalar::Util qw/blessed/; |
|
15
|
|
|
|
|
23
|
|
|
15
|
|
|
|
|
3649
|
|
7
|
|
|
|
|
|
|
|
8
|
|
|
|
|
|
|
=head1 NAME |
9
|
|
|
|
|
|
|
|
10
|
|
|
|
|
|
|
Shipwright::Logger - Log |
11
|
|
|
|
|
|
|
|
12
|
|
|
|
|
|
|
=head1 SYNOPSIS |
13
|
|
|
|
|
|
|
|
14
|
|
|
|
|
|
|
use Shipwright::Logger; |
15
|
|
|
|
|
|
|
|
16
|
|
|
|
|
|
|
=head2 new |
17
|
|
|
|
|
|
|
|
18
|
|
|
|
|
|
|
=cut |
19
|
|
|
|
|
|
|
|
20
|
|
|
|
|
|
|
sub new { |
21
|
13
|
|
|
13
|
1
|
39
|
my $class = shift; |
22
|
|
|
|
|
|
|
|
23
|
13
|
|
|
|
|
28
|
my $self = {}; |
24
|
13
|
|
|
|
|
31
|
bless $self, $class; |
25
|
|
|
|
|
|
|
|
26
|
13
|
100
|
|
|
|
116
|
if ( not Log::Log4perl->initialized ) { |
27
|
8
|
|
|
|
|
74
|
$class->_initialize_log4perl(@_); |
28
|
|
|
|
|
|
|
} |
29
|
13
|
|
|
|
|
34007
|
return $self; |
30
|
|
|
|
|
|
|
} |
31
|
|
|
|
|
|
|
|
32
|
|
|
|
|
|
|
sub _initialize_log4perl { |
33
|
8
|
|
|
8
|
|
27
|
my $class = shift; |
34
|
8
|
|
|
|
|
18
|
my $ref = $_[0]; |
35
|
|
|
|
|
|
|
|
36
|
8
|
|
|
|
|
16
|
my ( $log_level, $log_file ); |
37
|
|
|
|
|
|
|
|
38
|
8
|
50
|
|
|
|
68
|
if ( blessed $ref ) { |
|
|
100
|
|
|
|
|
|
39
|
|
|
|
|
|
|
|
40
|
|
|
|
|
|
|
# so it's an object, we assuming it has log_level and log_file subs |
41
|
0
|
|
|
|
|
0
|
$log_level = $ref->log_level; |
42
|
0
|
|
|
|
|
0
|
$log_file = $ref->log_file; |
43
|
|
|
|
|
|
|
} |
44
|
|
|
|
|
|
|
elsif ( ref $ref ) { |
45
|
|
|
|
|
|
|
|
46
|
|
|
|
|
|
|
# it's a hashref |
47
|
1
|
|
|
|
|
3
|
$log_level = $ref->{log_level}; |
48
|
1
|
|
|
|
|
2
|
$log_file = $ref->{log_file}; |
49
|
|
|
|
|
|
|
} |
50
|
|
|
|
|
|
|
else { |
51
|
|
|
|
|
|
|
|
52
|
|
|
|
|
|
|
# not ref at all |
53
|
7
|
|
|
|
|
27
|
my %hash = @_; |
54
|
7
|
|
|
|
|
15
|
$log_level = $hash{log_level}; |
55
|
7
|
|
|
|
|
19
|
$log_file = $hash{log_file}; |
56
|
|
|
|
|
|
|
} |
57
|
|
|
|
|
|
|
|
58
|
8
|
100
|
|
|
|
32
|
$log_level = $log_level ? uc $log_level : 'FATAL'; |
59
|
8
|
|
50
|
|
|
51
|
$log_file ||= '-'; |
60
|
8
|
50
|
|
|
|
78
|
my %default = ( |
61
|
|
|
|
|
|
|
'log4perl.rootLogger' => "$log_level,File", |
62
|
|
|
|
|
|
|
'log4perl.appender.File.filename' => $log_file, |
63
|
|
|
|
|
|
|
'log4perl.appender.File' => 'Log::Log4perl::Appender::File', |
64
|
|
|
|
|
|
|
'log4perl.appender.File.stderr' => 1, |
65
|
|
|
|
|
|
|
'log4perl.appender.File.layout' => |
66
|
|
|
|
|
|
|
'Log::Log4perl::Layout::PatternLayout', |
67
|
|
|
|
|
|
|
'log4perl.appender.File.layout.ConversionPattern' => |
68
|
|
|
|
|
|
|
$log_file eq '-' ? '%m%n' : '%d %p> %F{1}:%L %M - %m%n', |
69
|
|
|
|
|
|
|
); |
70
|
|
|
|
|
|
|
|
71
|
8
|
|
|
|
|
43
|
Log::Log4perl->init( \%default ); |
72
|
|
|
|
|
|
|
} |
73
|
|
|
|
|
|
|
|
74
|
|
|
|
|
|
|
1; |
75
|
|
|
|
|
|
|
|
76
|
|
|
|
|
|
|
__END__ |