File Coverage

lib/Log/Mini/LoggerFILE.pm
Criterion Covered Total %
statement 25 25 100.0
branch 3 4 75.0
condition n/a
subroutine 7 7 100.0
pod 0 1 0.0
total 35 37 94.5


line stmt bran cond sub pod time code
1             package Log::Mini::LoggerFILE;
2              
3 3     3   78288 use strict;
  3         12  
  3         72  
4 3     3   10 use warnings;
  3         5  
  3         58  
5 3     3   12 use IO::Handle;
  3         3  
  3         101  
6              
7              
8 3     3   12 use base 'Log::Mini::LoggerBase';
  3         3  
  3         837  
9              
10             sub new {
11 13     13 0 17142 my $self = shift->SUPER::new(@_);
12 13         19 my (%params) = @_;
13              
14 13         17 $self->{file} = $params{file};
15              
16             # TODO: Allow logrotate
17 13 50       485 open my $fh, '>>', $params{file} or die $!;
18 13 100       42 if (defined $params{'synced'}) {
19 1         9 $fh->autoflush(1);
20             }
21              
22 13         72 $self->{fh} = $fh;
23              
24 13         48 return $self;
25             }
26              
27             sub _print {
28 12     12   13 my $self = shift;
29              
30 12         16 my $fh = $self->{fh};
31 12         121 print $fh @_;
32             }
33              
34              
35             sub DESTROY {
36 13     13   2295 close shift->{'fh'};
37 13         85 return;
38             }
39             1;