|
|
ru.perl- RU.PERL ---------------------------------------------------------------------- From : Anton Yuzhaninov 2:5020/400 30 Oct 2006 20:33:43 To : Eugene Grosbein Subject : Re: stderr -> syslog --------------------------------------------------------------------------------
Hello, Eugene!
You wrote to All on Mon, 30 Oct 2006 23:14:18 +0300:
EG> Есть демон, который умеет по определенным событиям запускать
EG> определенные команды (среда: FreeBSD), командой делаем скрипт на perl.
EG> Скрипт собственный отладочный вывод пишет через syslog,
EG> а его stderr идет, судя по всему, в /dev/null или что-то типа этого.
EG> По мере усложнения скрипта все больше и больше хочется видеть
EG> warning-и и не дай бог error-ы самого perl-а где-нибудь в syslog
EG> тоже (можно даже с той же facility и priority=err ;-).
Можно так:
sub _log {
my($l,$w,@s)=@_;
if ($DEBUG) {
printf STDERR $w."\n", @s
} else {
syslog($l, $w, @s) if ($l <= $cfg{'log_level'})
}
}
$SIG{__DIE__} = sub { _log(LOG_ERR, $_[0]); exit 0 };
$SIG{__WARN__} = sub { _log(LOG_INFO, $_[0]) };
А писать в stderr перловый скрипт сам не должен по идее. Только если он
внешние команды вызывает, или странные модули, которые вместо warn в stderr
что то пишут.
--
Anton Yuzhaninov, OSPF-RIPE, mail: citrin (at) citrin.ru
--- ifmail v.2.15dev5.3
* Origin: Demos online service (2:5020/400)
Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.perl/123179c67891c.html, оценка из 5, голосов 10
|