Thread Manipulierung von __DIE__ und __WARN__ (17 answers)
Opened by bloonix at 2007-06-05 13:45

bloonix
 2007-06-06 13:50
#77258 #77258
User since
2005-12-17
1615 Artikel
HausmeisterIn
[Homepage]
user image
[quote=renee,06.06.2007, 11:13]@opi: kann man bei Log::Handler die caller-"Stufen" angeben, die ausgegeben werden sollen? caller(0) und (1) interessiert mich ja nicht wirklich, weil es Modul-eigene Methoden sind...[/quote]
Mit der Option debug_skip kannst du mitteilen, welche Stufen
übersprungen werden sollen. Wenn du mehr möchtest, lässt sich das
bestimmt einbauen.

Edit Beispiel:

Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
use strict;
use warnings;
use Log::Handler;

my $log = Log::Handler->new(
filename => \*STDERR,
newline => 1,
debug_mode => 2,
debug_skip => 2,
);

$SIG{__DIE__} = sub { $log->trace(@_); exit(9); };

die "here we die";


Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
Jun 06 12:04:50 [TRACE] here we die at ./foo.pl line 15.
CALL(1):
package main
filename ./foo.pl
line 15
subroutine main::__ANON__
hasargs 1
wantarray 0
CALL(0):
package main
filename ./foo.pl
line 13
subroutine Log::Handler::trace
hasargs 1
\n\n

<!--EDIT|opi|1181123787-->
What is a good module? That's hard to say.
What is good code? That's also hard to say.
One man's Thing of Beauty is another's man's Evil Hack.

View full thread Manipulierung von __DIE__ und __WARN__