|
|
ru.perl- RU.PERL ---------------------------------------------------------------------- From : Eugene Grosbein 2:5006/1 31 Oct 2006 01:38:53 To : Anton Yuzhaninov Subject : Re: stderr -> syslog --------------------------------------------------------------------------------
30 окт 2006, понедельник, в 19:33 KRAST, Anton Yuzhaninov написал(а):
EG>> Есть демон, который умеет по определенным событиям запускать
EG>> определенные команды (среда: FreeBSD), командой делаем скрипт на perl.
EG>> Скрипт собственный отладочный вывод пишет через syslog,
EG>> а его stderr идет, судя по всему, в /dev/null или что-то типа этого.
EG>> По мере усложнения скрипта все больше и больше хочется видеть
EG>> warning-и и не дай бог error-ы самого perl-а где-нибудь в syslog
EG>> тоже (можно даже с той же facility и priority=err ;-).
AY> Можно так:
AY> sub _log {
AY> my($l,$w,@s)=@_;
AY> if ($DEBUG) {
AY> printf STDERR $w."\n", @s
AY> } else {
AY> syslog($l, $w, @s) if ($l <= $cfg{'log_level'})
AY> }
AY> }
AY> $SIG{__DIE__} = sub { _log(LOG_ERR, $_[0]); exit 0 };
AY> $SIG{__WARN__} = sub { _log(LOG_INFO, $_[0]) };
Похоже, самое лучшее тут (с поправкой на exit 1 :-)
Спасибо.
Eugene
--
Hо то, что нашел ты у черных и желтых,
У белых ты тоже найдешь.
--- slrn/0.9.8.0 (FreeBSD)
* Origin: Svyaz Service JSC (2:5006/1@fidonet)
Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.perl/26093f787f55d.html, оценка из 5, голосов 10
|