File Coverage

File:lib/Railsish/Logger.pm
Coverage:94.7%

linestmtbrancondsubpodtimecode
1package Railsish::Logger;
2
14
14
14
861
97
153
use Any::Moose;
3
14
14
14
164
40
57
use Railsish::CoreHelpers ();
4
14
14
14
125
42
204
use Log::Dispatch;
5
14
14
14
120
38
98
use Log::Dispatch::File;
6
14
14
14
1401
119
322
use Log::Dispatch::Screen;
7
8has 'logger' => (
9    is => "rw",
10    isa => "Log::Dispatch",
11    lazy_build => 1
12);
13
14sub _build_logger {
15
7
432
    my ($self) = @_;
16
17
7
107
    my $logger = Log::Dispatch->new;
18
7
726
    return $logger unless exists $ENV{APP_ROOT};
19
20
1
6
    my $logdir = Railsish::CoreHelpers::app_root("log");
21
1
43
    if (-d $logdir) {
22
1
7
        my $file = Railsish::CoreHelpers::app_root(log => "development.log");
23
1
18
        $logger->add(
24            Log::Dispatch::File->new(
25                name => "development",
26                min_level => "debug",
27                filename => $file));
28    }
29
30    $logger->add(
31
1
635
        Log::Dispatch::Screen->new(
32            name => "screen",
33            min_level => "debug",
34            stderr => 1));
35
36
1
761
    return $logger;
37}
38
39sub debug {
40
15
0
150
    my ($self, $message) = @_;
41
15
152
    $self->logger->log(
42        level => "debug",
43        message => $message . "\n"
44    );
45}
46
47__PACKAGE__->meta->make_immutable;