summaryrefslogtreecommitdiffstats
path: root/Bugzilla/Logging.pm
diff options
context:
space:
mode:
Diffstat (limited to 'Bugzilla/Logging.pm')
-rw-r--r--Bugzilla/Logging.pm166
1 files changed, 85 insertions, 81 deletions
diff --git a/Bugzilla/Logging.pm b/Bugzilla/Logging.pm
index f334435fc..22c46b31c 100644
--- a/Bugzilla/Logging.pm
+++ b/Bugzilla/Logging.pm
@@ -18,105 +18,109 @@ use English qw(-no_match_vars $PROGRAM_NAME);
use Taint::Util qw(untaint);
sub logfile {
- my ($class, $name) = @_;
+ my ($class, $name) = @_;
- my $file = rel2abs(catfile(bz_locations->{logsdir}, $name));
- untaint($file);
- return $file;
+ my $file = rel2abs(catfile(bz_locations->{logsdir}, $name));
+ untaint($file);
+ return $file;
}
sub fields {
- return Log::Log4perl::MDC->get_context->{fields} //= {};
+ return Log::Log4perl::MDC->get_context->{fields} //= {};
}
BEGIN {
- my $file = $ENV{LOG4PERL_CONFIG_FILE} // 'log4perl-syslog.conf';
- Log::Log4perl::Logger::create_custom_level('NOTICE', 'WARN', 5, 2);
- Log::Log4perl->init(rel2abs($file, bz_locations->{confdir}));
- TRACE("logging enabled in $PROGRAM_NAME");
+ my $file = $ENV{LOG4PERL_CONFIG_FILE} // 'log4perl-syslog.conf';
+ Log::Log4perl::Logger::create_custom_level('NOTICE', 'WARN', 5, 2);
+ Log::Log4perl->init(rel2abs($file, bz_locations->{confdir}));
+ TRACE("logging enabled in $PROGRAM_NAME");
}
# this is copied from Log::Log4perl's :easy handling,
# except we also export NOTICE.
sub import {
- my $caller_pkg = caller;
-
- return 1 if $Log::Log4perl::IMPORT_CALLED{$caller_pkg}++;
-
- # Define default logger object in caller's package
- my $logger = Log::Log4perl->get_logger("$caller_pkg");
-
- # Define DEBUG, INFO, etc. routines in caller's package
- for (qw(TRACE DEBUG INFO NOTICE WARN ERROR FATAL ALWAYS)) {
- my $level = $_;
- $level = 'OFF' if $level eq 'ALWAYS';
- my $lclevel = lc $_;
- Log::Log4perl::easy_closure_create(
- $caller_pkg,
- $_,
- sub {
- Log::Log4perl::Logger::init_warn()
- unless $Log::Log4perl::Logger::INITIALIZED or $Log::Log4perl::Logger::NON_INIT_WARNED;
- $logger->{$level}->( $logger, @_, $level );
- },
- $logger
- );
- }
-
- # Define LOGCROAK, LOGCLUCK, etc. routines in caller's package
- for (qw(LOGCROAK LOGCLUCK LOGCARP LOGCONFESS)) {
- my $method = 'Log::Log4perl::Logger::' . lc $_;
-
- Log::Log4perl::easy_closure_create(
- $caller_pkg,
- $_,
- sub {
- unshift @_, $logger;
- goto &$method;
- },
- $logger
- );
- }
-
- # Define LOGDIE, LOGWARN
- Log::Log4perl::easy_closure_create(
- $caller_pkg,
- 'LOGDIE',
- sub {
- Log::Log4perl::Logger::init_warn()
- unless $Log::Log4perl::Logger::INITIALIZED or $Log::Log4perl::Logger::NON_INIT_WARNED;
- $logger->{FATAL}->( $logger, @_, 'FATAL' );
- $Log::Log4perl::LOGDIE_MESSAGE_ON_STDERR
- ? CORE::die( Log::Log4perl::Logger::callerline( join '', @_ ) )
- : exit $Log::Log4perl::LOGEXIT_CODE;
- },
- $logger
- );
+ my $caller_pkg = caller;
+
+ return 1 if $Log::Log4perl::IMPORT_CALLED{$caller_pkg}++;
+ # Define default logger object in caller's package
+ my $logger = Log::Log4perl->get_logger("$caller_pkg");
+
+ # Define DEBUG, INFO, etc. routines in caller's package
+ for (qw(TRACE DEBUG INFO NOTICE WARN ERROR FATAL ALWAYS)) {
+ my $level = $_;
+ $level = 'OFF' if $level eq 'ALWAYS';
+ my $lclevel = lc $_;
Log::Log4perl::easy_closure_create(
- $caller_pkg,
- 'LOGEXIT',
- sub {
- Log::Log4perl::Logger::init_warn()
- unless $Log::Log4perl::Logger::INITIALIZED or $Log::Log4perl::Logger::NON_INIT_WARNED;
- $logger->{FATAL}->( $logger, @_, 'FATAL' );
- exit $Log::Log4perl::LOGEXIT_CODE;
- },
- $logger
+ $caller_pkg,
+ $_,
+ sub {
+ Log::Log4perl::Logger::init_warn()
+ unless $Log::Log4perl::Logger::INITIALIZED
+ or $Log::Log4perl::Logger::NON_INIT_WARNED;
+ $logger->{$level}->($logger, @_, $level);
+ },
+ $logger
);
+ }
+
+ # Define LOGCROAK, LOGCLUCK, etc. routines in caller's package
+ for (qw(LOGCROAK LOGCLUCK LOGCARP LOGCONFESS)) {
+ my $method = 'Log::Log4perl::Logger::' . lc $_;
Log::Log4perl::easy_closure_create(
- $caller_pkg,
- 'LOGWARN',
- sub {
- Log::Log4perl::Logger::init_warn()
- unless $Log::Log4perl::Logger::INITIALIZED or $Log::Log4perl::Logger::NON_INIT_WARNED;
- $logger->{WARN}->( $logger, @_, 'WARN' );
- CORE::warn( Log::Log4perl::Logger::callerline( join '', @_ ) )
- if $Log::Log4perl::LOGDIE_MESSAGE_ON_STDERR;
- },
- $logger
+ $caller_pkg,
+ $_,
+ sub {
+ unshift @_, $logger;
+ goto &$method;
+ },
+ $logger
);
+ }
+
+ # Define LOGDIE, LOGWARN
+ Log::Log4perl::easy_closure_create(
+ $caller_pkg,
+ 'LOGDIE',
+ sub {
+ Log::Log4perl::Logger::init_warn()
+ unless $Log::Log4perl::Logger::INITIALIZED
+ or $Log::Log4perl::Logger::NON_INIT_WARNED;
+ $logger->{FATAL}->($logger, @_, 'FATAL');
+ $Log::Log4perl::LOGDIE_MESSAGE_ON_STDERR
+ ? CORE::die(Log::Log4perl::Logger::callerline(join '', @_))
+ : exit $Log::Log4perl::LOGEXIT_CODE;
+ },
+ $logger
+ );
+
+ Log::Log4perl::easy_closure_create(
+ $caller_pkg,
+ 'LOGEXIT',
+ sub {
+ Log::Log4perl::Logger::init_warn()
+ unless $Log::Log4perl::Logger::INITIALIZED
+ or $Log::Log4perl::Logger::NON_INIT_WARNED;
+ $logger->{FATAL}->($logger, @_, 'FATAL');
+ exit $Log::Log4perl::LOGEXIT_CODE;
+ },
+ $logger
+ );
+
+ Log::Log4perl::easy_closure_create(
+ $caller_pkg,
+ 'LOGWARN',
+ sub {
+ Log::Log4perl::Logger::init_warn()
+ unless $Log::Log4perl::Logger::INITIALIZED
+ or $Log::Log4perl::Logger::NON_INIT_WARNED;
+ $logger->{WARN}->($logger, @_, 'WARN');
+ CORE::warn(Log::Log4perl::Logger::callerline(join '', @_))
+ if $Log::Log4perl::LOGDIE_MESSAGE_ON_STDERR;
+ },
+ $logger
+ );
}
1;