Leser: 2
|< 1 2 3 >| | 22 Einträge, 3 Seiten |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
#!/usr/bin/perl -w $| = 1; use strict; use warnings; BEGIN { open( STDERR, ">> stderr.log"); } sub DaKommt der Fehlerhfate Code ödäää? END{ close( STDERR ); } 1;
QuoteAuch das ist mir geläufig. Irgendwie denke ich gerade zu komplex. Zuviiele Bäume vorm Wald!_*_LINE_*_ und _*_FILE_*_ und _*_PACKAGE_*_ (jeweils ohne Sternchen) gibts zumindestens
Quotehmmmm.... wieso ist denn Dein Code eigentlich so fehlerhaft?
QuoteJa.Ich weiß nicht, ob jetzt Comilier-Fehler an dieses umgeswitchte STDERR gehen, ich hoffte es eigentlich. Tun sie es nicht?
QuoteTotal falscher Gaul ;)Hast Du dieses fatals to browser Zeug gesetzt, oder bin ich gedanklich auf dem falschen Pferd?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
$SIG{_ _WARN_ _} = \&SigWarn; # ohne leerzeichen zw _ _
...
sub SigWarn {
print "-" x 60, "\n";
print @_;
print "\nBacktracking:\n";
my $count = 1;
while ($count > -1) {
my ($package, $filename, $line, $sub) = caller($count);
last unless defined $line;
printf("%02i %5i %-20s %-20s\n", $count++, $line, $sub, $filename);
} # while
} # SigWarn
1
2
3
4
5
6
7
$SIG{_ _ DIE _ _} = sub {
#return if $^S;
print "@_";
exit;
};
eval { require JGgrghreioge };
eval { local $SIG{_ _ DIE _ _ }; .... }
1
2
3
4
5
6
7
8
9
10
11
BEGIN {
my $logfile = 'error_log';
open(LOG, '>>', $logfile) or die $!;
my $fno = fileno(LOG); # Filenumber der Logdatei
open(STDERR, ">&$fno") # STDERR nun auf den Kanal mit der Nummer $fno umgeleitet
or print LOG "can't redirect STDERR to $logfile\n";
}
die "boeser Fehler!\n"
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29
BEGIN { sub wahn { open( F, ">> wahn.log" ); # ;) truncate( F, 0 ) if ( (stat( F ))[7] > 1024*1024 ); # > 1 MByte flock( F, 2 ); my $s = localtime; print F $s; print F ' [WARN]'; foreach (@_) { print F " $_" } print F "\n"; close ( F ); } sub dai { open( F, ">> wahn.log" ); truncate( F, 0 ) if ( (stat( F ))[7] > 1024*1024 ); # > 1 MByte flock( F, 2 ); my $s = localtime; print F $s; print F ' [DIE]'; foreach (@_) { print F " $_" } print F "\n"; close ( F ); } $SIG{_ _DIE_ _} = \&dai; $SIG{_ _WARN_ _} = \&wahn; }
|< 1 2 3 >| | 22 Einträge, 3 Seiten |