File Coverage

blib/lib/Enbld/Logger.pm
Criterion Covered Total %
statement 30 30 100.0
branch 2 2 100.0
condition n/a
subroutine 9 9 100.0
pod 0 3 0.0
total 41 44 93.1


line stmt bran cond sub pod time code
1             package Enbld::Logger;
2              
3 6     6   1286 use strict;
  6         9  
  6         168  
4 6     6   20 use warnings;
  6         9  
  6         149  
5              
6 6     6   405 use autodie;
  6         10921  
  6         38  
7 6     6   19476 use File::Spec;
  6         10  
  6         1817  
8              
9             our $LOGFILE;
10              
11             sub logfile {
12 334     334 0 2473 return $LOGFILE;
13             }
14              
15             sub rotate {
16 31     31 0 1415 my ( $pkg, $path ) = @_;
17              
18 31         108 _create_logfile( $path );
19 31         3175 _create_symlink( $path );
20              
21 31         3330 return $LOGFILE;
22             }
23              
24             sub write {
25 212     212 0 499 my ( $pkg, $msg ) = @_;
26              
27 212         973 open my $fh, '>>', $LOGFILE;
28 212         36994 print $fh $msg;
29 212         780 close $fh;
30              
31 212         59349 return $msg;
32             }
33              
34             sub _create_logfile {
35 31     31   55 my $path = shift;
36              
37 31         435 $LOGFILE = File::Spec->catfile( $path, time . '-' . $$ . '.log' );
38 31         141 open my $fh, ">", $LOGFILE;
39 31         9621 close $fh;
40             }
41              
42             sub _create_symlink {
43 31     31   62 my $path = shift;
44              
45 31         341 my $link = File::Spec->catfile( $path, 'latest_build.log' );
46 31 100       578 unlink $link if ( -e $link );
47 31         359 symlink $LOGFILE, $link;
48             }
49              
50             1;