diff options
author | franck cuny <franck@lumberjaph.net> | 2010-09-15 18:16:25 +0200 |
---|---|---|
committer | franck cuny <franck@lumberjaph.net> | 2010-09-15 18:16:25 +0200 |
commit | af59204a30f9beb83c2a47a0a3692cbfa3873398 (patch) | |
tree | 00e829ed8c26f80260c6ecc5288b00dcd727a300 /lib/Net/HTTP/Spore/Middleware/LogDispatch.pm | |
parent | auth format remove proto (diff) | |
download | net-http-spore-af59204a30f9beb83c2a47a0a3692cbfa3873398.tar.gz |
pod
Diffstat (limited to 'lib/Net/HTTP/Spore/Middleware/LogDispatch.pm')
-rw-r--r-- | lib/Net/HTTP/Spore/Middleware/LogDispatch.pm | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/lib/Net/HTTP/Spore/Middleware/LogDispatch.pm b/lib/Net/HTTP/Spore/Middleware/LogDispatch.pm index 2724fcf..422c76d 100644 --- a/lib/Net/HTTP/Spore/Middleware/LogDispatch.pm +++ b/lib/Net/HTTP/Spore/Middleware/LogDispatch.pm @@ -3,5 +3,37 @@ package Net::HTTP::Spore::Middleware::LogDispatch; use Moose; extends 'Net::HTTP::Spore::Middleware'; +has logger => (is => 'rw', isa => 'Log::Dispatch', required => 1); + +sub call { + my ($self, $req) = @_; + + my $env = $req->env; + $env->{'sporex.logger'} = sub { + my $args = shift; + $args->{level} = 'critical' if $args->{level} eq 'fatal'; + $self->logger->log(%$args); + }; +} 1; + +=head1 SYNOPSIS + + my $log = Log::Dispatch->new(); + $log->add( + Log::Dispatch::File->new( + name => 'file1', + min_level => 'debug', + filename => 'logfile' + ) + ); + + my $client = Net::HTTP::Spore->new_from_spec('twitter.json'); + $client->enable( 'LogDispatch', logger => $log ); + +=head1 DESCRIPTION + +Net::HTTP::Spore::Middleware::LogDispatch is a middleware that allow you to use LogDispatch. + +=head1 EXAMPLES |