[Rt-commit] r6267 - in rt/branches/3.7-EXPERIMENTAL: .
ruz at bestpractical.com
ruz at bestpractical.com
Wed Oct 25 00:47:42 EDT 2006
Author: ruz
Date: Wed Oct 25 00:47:42 2006
New Revision: 6267
Modified:
rt/branches/3.7-EXPERIMENTAL/ (props changed)
rt/branches/3.7-EXPERIMENTAL/lib/RT.pm.in
Log:
r4024 at cubic-pc: cubic | 2006-10-25 04:48:24 +0400
* add support for $LogStackTraces = 'error' and other levels,
so it possible to log stack traces only starting from some
level
Modified: rt/branches/3.7-EXPERIMENTAL/lib/RT.pm.in
==============================================================================
--- rt/branches/3.7-EXPERIMENTAL/lib/RT.pm.in (original)
+++ rt/branches/3.7-EXPERIMENTAL/lib/RT.pm.in Wed Oct 25 00:47:42 2006
@@ -181,7 +181,19 @@
$, = '';
use Log::Dispatch 1.6;
- unless ($RT::Logger) {
+ my %level_num = (
+ map( { $_ => } 0..7 ),
+ debug => 0,
+ infog => 1,
+ notice => 2,
+ warning => 3,
+ error => 4, 'err' => 4,
+ critical => 5, crit => 5,
+ alert => 6,
+ emergency => 7, emerg => 7,
+ );
+
+ unless ( $RT::Logger ) {
$RT::Logger = Log::Dispatch->new;
my $simple_cb = sub {
@@ -192,13 +204,18 @@
my $frame = 0; # stack frame index
# skip Log::* stack frames
- $frame++ while( caller($frame) && caller($frame) =~ /^Log::/ );
+ $frame++ while caller($frame) && caller($frame) =~ /^Log::/;
my ($package, $filename, $line) = caller($frame);
- $p{message} =~ s/(?:\r*\n)+$//;
- my $str = "[".gmtime(time)."] [".$p{level}."]: $p{message} ($filename:$line)\n";
+ $p{'message'} =~ s/(?:\r*\n)+$//;
+ my $str = "[". gmtime(time) ."] [". $p{'level'} ."]: "
+ . $p{'message'} ." ($filename:$line)\n";
+
+ if ( my $level = RT->Config->Get('LogStackTraces') ) {
+ $level = 0 if $level =~ /^\d+$/;
+ $level = $level_num{ $level } || 0;
+ return $str unless $level_num{ $p{'level'} } >= $level;
- if( $Config->Get('LogStackTraces') ) {
$str .= "\nStack trace:\n";
# skip calling of the Log::* subroutins
$frame++ while( caller($frame) && (caller($frame))[3] =~ /^Log::/ );
More information about the Rt-commit
mailing list