Beefy Boxes and Bandwidth Generously Provided by pair Networks
Perl: the Markov chain saw
 
PerlMonks  

Re: Log4Perl - ANON issue

by cees (Curate)
on Jan 26, 2004 at 21:26 UTC ( [id://324277]=note: print w/replies, xml ) Need Help??


in reply to Log4Perl - ANON issue

The try catch block is implemented as an anonymous subroutine which is causing your problem. You can specify the caller depth that Log4perl uses in the log entry.

local $Log::Log4perl::caller_depth = 2;

Just put this line somewhere before the call to the logger. The local should localize this change to only affect this part of your program.

Replies are listed 'Best First'.
Re: Log4Perl - ANON issue
by andreas1234567 (Vicar) on Jan 30, 2004 at 13:10 UTC
    You might want to consider to log the call stack when something fails. This way, you will easily see where the error originated, whether in an ANON block or not. Choose log level and error handling wisely..
    _show_call_stack() if (!$retval); [...] sub _show_call_stack { my $max_depth = 7; my $i = 1; if ($log->is_debug()) { $log->debug("--- Begin stack trace ---"); while ( (my @call = (caller($i++))) && ($i<$max_depth)) { $log->debug("$call[1] line $call[2] in function call[3]"); } $log->debug("--- End stack trace ---"); } }

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://324277]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others romping around the Monastery: (7)
As of 2024-04-19 16:23 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found