lemonldap-ng/lemonldap-ng-handler/lib/Lemonldap/NG/Handler/Main/Logger.pm
David COUTADEUR 59f0b9e5d4 - correction of a hook in the Logger, which made this module incompatible with perl 5.10.5 / debian squeeze
(affectations and substitutions are now expanded to multiple lines)

(references #630)
2014-03-31 21:07:06 +00:00

34 lines
915 B
Perl
Executable File

package Lemonldap::NG::Handler::Main::Logger;
use Lemonldap::NG::Handler::Main qw( :apache );
## @rmethod void lmLog(string mess, string level)
# Wrapper for Apache log system
# @param $mess message to log
# @param $level string (debug, info, warning or error)
sub lmLog {
my ( $class, $mess, $level ) = splice @_;
die("Level is required") unless ($level);
my $call;
my @tmp = caller();
(my $module = $tmp[0]) =~ s/.+:://g;
$module .= "($tmp[2]): ";
unless ( $level eq 'debug' ) {
$call = "$tmp[1] $tmp[2]:";
}
if ( MP() == 2 ) {
Apache2::ServerRec->log->debug($call) if ($call);
Apache2::ServerRec->log->$level( $module . $mess );
}
elsif ( MP() == 1 ) {
Apache->server->log->debug($call) if ($call);
Apache->server->log->$level( $module . $mess );
}
else {
print STDERR "[$level] $module $mess\n";
}
}
1;