You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@spamassassin.apache.org by jm...@apache.org on 2007/08/22 13:29:11 UTC
svn commit: r568562 - /spamassassin/trunk/lib/Mail/SpamAssassin/Logger.pm
Author: jm
Date: Wed Aug 22 04:29:10 2007
New Revision: 568562
URL: http://svn.apache.org/viewvc?rev=568562&view=rev
Log:
some optimization of _log(); avoid a needless string subst
Modified:
spamassassin/trunk/lib/Mail/SpamAssassin/Logger.pm
Modified: spamassassin/trunk/lib/Mail/SpamAssassin/Logger.pm
URL: http://svn.apache.org/viewvc/spamassassin/trunk/lib/Mail/SpamAssassin/Logger.pm?rev=568562&r1=568561&r2=568562&view=diff
==============================================================================
--- spamassassin/trunk/lib/Mail/SpamAssassin/Logger.pm (original)
+++ spamassassin/trunk/lib/Mail/SpamAssassin/Logger.pm Wed Aug 22 04:29:10 2007
@@ -176,7 +176,7 @@
sub dbg {
return unless $LOG_SA{level} >= DBG;
- _log("dbg", @_);
+ _log(DBG, @_);
}
=item info("facility: message")
@@ -189,32 +189,38 @@
sub info {
return unless $LOG_SA{level} >= INFO;
- _log("info", @_);
+ _log(INFO, @_);
}
# remember to avoid deep recursion, my friend
sub _log {
- my ($level, $message, @args) = @_;
- my $facility = "generic";
- local ($1,$2);
- if ($message =~ /^(\S+?): (.*)/s) {
+ my $facility;
+ local ($1);
+
+ # it's faster to access this as the $_[1] alias, and not to perform
+ # string mods until we're sure we actually want to log anything
+ if ($_[1] =~ /^([^:]+?): /) {
$facility = $1;
- $message = $2;
+ } else {
+ $facility = "generic";
}
- # only debug specific facilities
- # log all info, warn, and error messages
- if ($level eq "dbg") {
+ # log all info, warn, and error messages;
+ # only debug if asked to
+ if ($_[0] == DBG) {
return unless ($LOG_SA{facility}->{all} ||
$LOG_SA{facility}->{$facility});
}
+ my ($level, $message, @args) = @_;
+ $message =~ s/^([^:]+?): //;
+
if (@args && index($message,'%') >= 0) { $message = sprintf($message,@args) }
$message =~ s/\n+$//s;
$message =~ s/^/${facility}: /mg;
# no reason to go through warn()
- log_message($level, $message);
+ log_message(($level == INFO ? "info" : "dbg"), $message);
}
=item add(method => 'syslog', socket => $socket, facility => $facility)