Plack::Middleware::LogErrors - Map psgi.errors to psgix.logger or other logger
version 0.001
Using a logger you have already configured (using Log::Dispatch as an example):
use Log::Dispatch; my $logger = Log::Dispatch->new; $logger->add( Log::Dispatch::File->new(...) ); builder { enable 'LogDispatch', logger => $logger; enable 'LogErrors'; $app; }
Using an explicitly defined logger:
builder { enable 'LogErrors', logger => sub { my $args = shift; $logger->log(%$args); }; $app; }
psgi.errors defaults to stderr in most backends, which results in content going somewhere unhelpful like the server console.
psgi.errors
stderr
This middleware simply remaps the psgi.errors stream to the psgix.logger stream, or an explicit logger that you provide.
psgix.logger
This is especially handy when used in combination with other middlewares such as Plack::Middleware::LogWarn (which diverts Perl warnings to psgi.errors); Plack::Middleware::HTTPExceptions (which diverts uncaught exceptions to psgi.errors); and Plack::Middleware::AccessLog, which defaults to psgi.errors when not passed a logger -- which is also automatically applied via plackup (so if you provided no --access-log option indicating a filename, psgi.errors is used).
--access-log
logger
A code reference for logging messages, that conforms to the psgix.logger specification. If not provided, psgix.logger is used, or the application will generate an error at runtime if there is no such logger configured.
Bugs may be submitted through the RT bug tracker (or bug-Plack-Middleware-LogErrors@rt.cpan.org). I am also usually active on irc, as 'ether' at irc.perl.org.
irc.perl.org
PSGI::Extensions - the definition of psgix.logger
"The-Error-Stream" in PSGI - the definition of psgi.errors
Plack::Middleware::LogWarn - maps warnings to psgi.errors
Plack::Middleware::HTTPExceptions - maps exceptions to psgi.errors
Plack::Middleware::Log::Contextual - use a Log::Contextual logger for psgix.logger
Plack::Middleware::LogDispatch - use a Log::Dispatch logger for psgix.logger
Plack::Middleware::Log4perl - use a Log::Log4perl logger for psgix.logger
Plack::Middleware::SimpleLogger - essentially the opposite of this module!
Karen Etheridge <ether@cpan.org>
This software is copyright (c) 2013 by Karen Etheridge.
This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.
To install Plack::Middleware::LogErrors, copy and paste the appropriate command in to your terminal.
cpanm
cpanm Plack::Middleware::LogErrors
CPAN shell
perl -MCPAN -e shell install Plack::Middleware::LogErrors
For more information on module installation, please visit the detailed CPAN module installation guide.