File Coverage

lib/Log/Mini/Logger/FILE.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::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;