remove webgui specific dbi tracing code, simplify errorhandler

This commit is contained in:
Graham Knop 2010-04-13 19:56:25 -05:00
parent 18962e6bc9
commit 907a148313
3 changed files with 22 additions and 75 deletions

View file

@ -203,8 +203,8 @@ The message to use.
sub fatal {
my $self = shift;
my $message = shift;
@_ = ({ level => 'fatal', message => $message});
goto $self->getLogger;
Sub::Uplevel::uplevel( 1, $self->getLogger, { level => 'fatal', message => $message});
WebGUI::Error::Fatal->throw( error => $message );
}
@ -216,7 +216,25 @@ Returns a reference to the logger.
=cut
sub getLogger { $_[0]->{_logger} }
sub getLogger {
my $self = shift;
if (my $req = $self->session->request) {
my $logger = $req->logger;
return $logger
if $logger;
}
# 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)
Log::Log4perl->init_once( $self->session->config->getWebguiRoot . "/etc/log.conf" );
my $log4perl = Log::Log4perl->get_logger( $self->session->config->getFilename );
sub {
my $args = shift;
my $level = $args->{level};
$log4perl->$level( $args->{message} );
};
}
#-------------------------------------------------------------------
@ -276,21 +294,6 @@ sub new {
my $session = shift;
my $logger = $session->request && $session->request->logger;
if ( !$logger ) {
# 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)
require Log::Log4perl;
Log::Log4perl->init_once( WebGUI::Paths->logConfig );
my $log4perl = Log::Log4perl->get_logger( $session->config->getFilename );
$logger = sub {
my $args = shift;
my $level = $args->{level};
$log4perl->$level( $args->{message} );
};
}
bless { _session => $session, _logger => $logger }, $class;
}
@ -364,6 +367,5 @@ sub warn {
goto $self->getLogger;
}
1;