X-Git-Url: http://git.freeside.biz/gitweb/?p=freeside.git;a=blobdiff_plain;f=FS%2FFS%2FLog.pm;h=ac218a019b2a0ac3ad4e93110efa29210ce5cb8f;hp=2fd0020938fec31ff8f4f06735c41073d9a1a6c6;hb=b96df4d4dcfebb3df16af89b884e63164bcf15e5;hpb=a1930173f49200333e347b87c01c3edabc1ebb9c diff --git a/FS/FS/Log.pm b/FS/FS/Log.pm index 2fd002093..ac218a019 100644 --- a/FS/FS/Log.pm +++ b/FS/FS/Log.pm @@ -5,13 +5,20 @@ use FS::Record qw(qsearch qsearchs); use FS::Conf; use FS::Log::Output; use FS::log; -use vars qw(@STACK @LEVELS); +use vars qw(@STACK %LEVELS); # override the stringification of @_ with something more sensible. BEGIN { - @LEVELS = qw(debug info notice warning error critical alert emergency); + # subset of Log::Dispatch levels + %LEVELS = ( + 0 => 'debug', + 1 => 'info', + 3 => 'warning', + 4 => 'error', + 5 => 'critical' + ); - foreach my $l (@LEVELS) { + foreach my $l (values %LEVELS) { my $sub = sub { my $self = shift; $self->log( level => $l, message => @_ ); @@ -100,4 +107,39 @@ sub DESTROY { splice(@STACK, $self->{'index'}, 1); # delete the stack entry } +=item levelnums + +Subroutine. Returns ordered list of level nums. + +=cut + +sub levelnums { + sort keys %LEVELS; +} + +=item levelmap + +Subroutine. Returns ordered map of level num => level name. + +=cut + +sub levelmap { + map { $_ => $LEVELS{$_} } levelnums; +} + +=back + +=head1 BUGS + +Not yet used universally; being phased in over time. + +Not well documented. Should document the error levels we're using (debug, +info, warning, error, critical) and the methods to log them. + +=head1 SEE ALSO + +L + +=cut + 1;