LINUX.ORG.RU

Sysklogd - логи от указанной программы в отдельный файл


0

0

Добрый день! Подскажите как заставить sysklogd класть логи от определенной программы в отдельный файл и больше никуда.

В программе логгер используется так:

1) openlog("myprog", LOG_PID, LOG_USER); 2) syslog(LOG_INFO, "Very important message"); 3) closelog();

При этом логи валятся в /var/log/messages и /var/log/syslog, а хотелось бы например в /var/log/myprog/myprog.info

Как можно syslogd указать что все логи от программы "myprog" класть в этот файл?

Спасибо.

смотри syslog-ng
filter mprg_f {match("myprog");};
log{source(src);filter(mprg_f);dest....(file(/var/log/myfile.log););};

anonymous
()

В случае sysklogd: добавь в /etc/syslog.conf строчку типа "local0.* /path/to/log", в /etc/logrotate.d/ создай файл с правилом для logrotate (там несложно). Программу запускай как "program | logger -t program_tag -p local0.info" - если вывод валится в stdout, то оно все подхватит.

cthulhu ★☆
()
Ответ на: комментарий от hatefu1_dead

Это если надо к коду прикрутить. А если вывод в stdout, то только так.

cthulhu ★☆
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.