| 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; | ||||||