File Coverage

lib/BalanceOfPower/Role/Logger.pm
Criterion Covered Total %
statement 22 23 95.6
branch 3 4 75.0
condition n/a
subroutine 7 7 100.0
pod 0 3 0.0
total 32 37 86.4


line stmt bran cond sub pod time code
1             package BalanceOfPower::Role::Logger;
2             $BalanceOfPower::Role::Logger::VERSION = '0.400115';
3 13     13   6120 use strict;
  13         31  
  13         378  
4 13     13   175 use v5.10;
  13         39  
5 13     13   54 use Moo::Role;
  13         19  
  13         91  
6              
7 13     13   4021 use Cwd;
  13         23  
  13         3819  
8              
9             has log_active => (
10             is => 'rw',
11             default => 1
12             );
13              
14             has log_name => (
15             is => 'rw',
16             default => "bop.log"
17             );
18              
19             has log_dir => (
20             is => 'rw',
21             default => sub { getcwd }
22             );
23              
24             has log_on_stdout => (
25             is => 'rw',
26             default => 0
27             );
28              
29             sub log_path
30             {
31 4705     4705 0 4784 my $self = shift;
32 4705         147247 return $self->log_dir . "/" .$self->log_name;
33             }
34              
35             sub log
36             {
37 4637     4637 0 4790 my $self = shift;
38 4637 100       10831 return if(! $self->log_active);
39 4597         4713 my $message = shift;
40 4597         17132 open(my $log, ">>", $self->log_path);
41 4597         21390 print $log $message . "\n";
42 4597         70932 close($log);
43 4597 50       29401 if($self->log_on_stdout)
44             {
45 0         0 print $message . "\n";
46             }
47             }
48              
49             sub delete_log
50             {
51 108     108 0 161 my $self = shift;
52 108         251 unlink $self->log_path;
53             }
54              
55             1;