Logging fallback
This commit is contained in:
parent
42c1a8e149
commit
7ef963e74f
5 changed files with 33 additions and 8 deletions
|
|
@ -8,6 +8,7 @@ use Plack::Middleware::StackTrace;
|
|||
use Plack::Middleware::Debug;
|
||||
use WebGUI::Middleware::HTTPExceptions;
|
||||
use Plack::Middleware::ErrorDocument;
|
||||
use Plack::Middleware::SimpleLogger;
|
||||
|
||||
use Plack::Util::Accessor qw( config error_docs );
|
||||
|
||||
|
|
@ -33,6 +34,11 @@ sub call {
|
|||
|
||||
my $app = $self->app;
|
||||
my $config = $self->config or die 'Mandatory config parameter missing';
|
||||
|
||||
# Logger fallback
|
||||
if (!$env->{'psgix.logger'}) {
|
||||
$app = Plack::Middleware::SimpleLogger->wrap( $app );
|
||||
}
|
||||
|
||||
my $session = try {
|
||||
$env->{'webgui.session'} = WebGUI::Session->open( $config->getWebguiRoot, $config, $env );
|
||||
|
|
|
|||
|
|
@ -274,7 +274,24 @@ Returns a reference to the logger.
|
|||
|
||||
sub getLogger {
|
||||
my $self = shift;
|
||||
return $self->session->request->logger;
|
||||
if ($self->session->request) {
|
||||
return $self->session->request->logger;
|
||||
} else {
|
||||
|
||||
# Thanks to Plack, wG has been decoupled from Log4Perl
|
||||
# However when called outside a web context, we currently still fall back to Log4perl
|
||||
# (pending a better idea)
|
||||
if (!$self->{_logger}) {
|
||||
Log::Log4perl->init_once( $self->session->config->getWebguiRoot."/etc/log.conf" );
|
||||
my $logger = Log::Log4perl->get_logger($self->session->config->getFilename);
|
||||
$self->{_logger} = sub {
|
||||
my $args = shift;
|
||||
my $level = $args->{level};
|
||||
$logger->$level($args->{message});
|
||||
};
|
||||
}
|
||||
return $self->{_logger};
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue