File: | lib/Railsish/Logger.pm |
Coverage: | 94.7% |
line | stmt | bran | cond | sub | pod | time | code |
---|---|---|---|---|---|---|---|
1 | package 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 | |||||||
8 | has 'logger' => ( | ||||||
9 | is => "rw", | ||||||
10 | isa => "Log::Dispatch", | ||||||
11 | lazy_build => 1 | ||||||
12 | ); | ||||||
13 | |||||||
14 | sub _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 | |||||||
39 | sub 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; |