line |
stmt |
bran |
cond |
sub |
pod |
time |
code |
1
|
|
|
|
|
|
|
package Log::Mini::Logger::FILE; |
2
|
|
|
|
|
|
|
|
3
|
3
|
|
|
3
|
|
95687
|
use strict; |
|
3
|
|
|
|
|
16
|
|
|
3
|
|
|
|
|
86
|
|
4
|
3
|
|
|
3
|
|
17
|
use warnings; |
|
3
|
|
|
|
|
9
|
|
|
3
|
|
|
|
|
68
|
|
5
|
3
|
|
|
3
|
|
15
|
use IO::Handle; |
|
3
|
|
|
|
|
9
|
|
|
3
|
|
|
|
|
117
|
|
6
|
|
|
|
|
|
|
|
7
|
3
|
|
|
3
|
|
14
|
use base 'Log::Mini::Logger::Base'; |
|
3
|
|
|
|
|
6
|
|
|
3
|
|
|
|
|
1033
|
|
8
|
|
|
|
|
|
|
|
9
|
|
|
|
|
|
|
sub new |
10
|
|
|
|
|
|
|
{ |
11
|
20
|
|
|
20
|
0
|
27743
|
my $self = shift->SUPER::new(@_); |
12
|
20
|
|
|
|
|
61
|
my (%params) = @_; |
13
|
|
|
|
|
|
|
|
14
|
20
|
|
|
|
|
34
|
$self->{file} = $params{file}; |
15
|
|
|
|
|
|
|
|
16
|
|
|
|
|
|
|
# TODO: Allow logrotate |
17
|
20
|
50
|
|
|
|
890
|
open my $fh, '>>', $params{file} or die $!; |
18
|
20
|
100
|
|
|
|
77
|
if (defined $params{'synced'}) { |
19
|
1
|
|
|
|
|
9
|
$fh->autoflush(1); |
20
|
|
|
|
|
|
|
} |
21
|
|
|
|
|
|
|
|
22
|
20
|
|
|
|
|
99
|
$self->{fh} = $fh; |
23
|
|
|
|
|
|
|
|
24
|
20
|
|
|
|
|
82
|
return $self; |
25
|
|
|
|
|
|
|
} |
26
|
|
|
|
|
|
|
|
27
|
|
|
|
|
|
|
sub _print |
28
|
|
|
|
|
|
|
{ |
29
|
20
|
|
|
20
|
|
23
|
my $self = shift; |
30
|
|
|
|
|
|
|
|
31
|
20
|
|
|
|
|
29
|
my $fh = $self->{fh}; |
32
|
20
|
|
|
|
|
217
|
print $fh @_; |
33
|
|
|
|
|
|
|
} |
34
|
|
|
|
|
|
|
|
35
|
|
|
|
|
|
|
sub DESTROY |
36
|
|
|
|
|
|
|
{ |
37
|
20
|
|
|
20
|
|
2833
|
close shift->{'fh'}; |
38
|
20
|
|
|
|
|
151
|
return; |
39
|
|
|
|
|
|
|
} |
40
|
|
|
|
|
|
|
|
41
|
|
|
|
|
|
|
1; |