Thread Manipulierung von __DIE__ und __WARN__
(17 answers)
Opened by bloonix at 2007-06-05 13:45
[quote=Strat,05.06.2007, 12:21]eigentlich nichts; nur sollte man auch direkt auf STDERR (oder STDOUT) mitbekommen, wenn ein programm stirbt, und nicht erst aus einer Logdatei.[/quote]
Hallo Strat, mein Hintergrund ist folgender: Wenn zum Beispiel ein Skript via Cron gestartet wird, dann möchte ich nicht, dass die Meldung in die lokale Mailbox wandert, sondern ins Logfile, also dorthin, wo sie sinngemäß hingehört. Aus diesem Grund habe ich auch Code: (dl
)
$log->error(@_) && exit(9) geschrieben. Falls das Loggen des Fehlers in die Logdatei aus irgendeinem Grund nicht funktioniert, dann wird exit() nicht ausgeführt und die Meldung wird auf STDERR auf jeden Fall ausgegeben. Natürlich kann man sich noch andere Konstrukte ausdenken und die Subroutine anders gestalten, zum Beispiel: Code: (dl
)
$SIG{__DIE__} = sub { print STDERR @_; $log->error(@_); exit(9) } Mir ging es primär um die Manipulierung von __DIE__ und __WARN__. In der perldoc steht, dass dies nicht gern gesehen wird, deshalb wollte ich mir noch einmal ein paar Meinungen einholen. =) Es ist aber schön zu lesen, dass du darin kein Problem siehst. Gruss, opi\n\n <!--EDIT|opi|1181050923--> 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. |