X-Git-Url: http://git.freeside.biz/gitweb/?p=freeside.git;a=blobdiff_plain;f=FS%2FFS%2Flog.pm;h=875e1ac016b8d789812bd91f6bb3f0299bf3e184;hp=d432ee3c6301db5d915bec1a3792b578a1582ca2;hb=14f234a943f1e4b5bbc6fe90254b8f5ca677f028;hpb=a2ecb1cf6a6c084c521710f1256da082f70ba9e5 diff --git a/FS/FS/log.pm b/FS/FS/log.pm index d432ee3c6..875e1ac01 100644 --- a/FS/FS/log.pm +++ b/FS/FS/log.pm @@ -4,6 +4,7 @@ use strict; use base qw( FS::Record ); use FS::Record qw( qsearch qsearchs dbdef ); use FS::UID qw( dbh driver_name ); +use FS::Log; use FS::log_context; use FS::log_email; use FS::upgrade_journal; @@ -47,8 +48,7 @@ this will be set to that agentnum. =item tablenum - foreign key to that table. -=item level - log level: 'debug', 'info', 'notice', 'warning', 'error', -'critical', 'alert', 'emergency'. +=item level - log level: 'debug', 'info', 'warning', 'error', 'critical', =item message - contents of the log entry @@ -83,6 +83,7 @@ sub insert { my $self = shift; my $error = $self->SUPER::insert; return $error if $error; + my $contexts = {}; # for quick checks when sending emails my $context_height = @_; # also for email check foreach ( @_ ) { # ordered from least to most specific @@ -94,6 +95,7 @@ sub insert { return $error if $error; $contexts->{$_} = $context_height--; } + foreach my $log_email ( qsearch('log_email', { @@ -114,11 +116,11 @@ sub insert { next; } my $emailerror = $msg_template->send( - 'msgtype' => 'admin', - 'to' => $log_email->to_addr, + 'msgtype' => 'admin', + 'to' => $log_email->to_addr, 'substitutions' => { - 'loglevel' => $FS::Log::LEVELS{$self->level}, # which has hopefully been loaded... - 'logcontext' => $log_email->context, # use the one that triggered the email + 'loglevel' => $FS::Log::LEVELS{$self->level} || 'unknown', + 'logcontext' => join(', ', keys( %$contexts )) || 'unknown', 'logmessage' => $self->message, }, );