LINUX.ORG.RU

работа с syslog()


0

0

Хочу : заставить syslogd писать сообщения из моей проги во мною определенный файл. Не выходит, пишет по умолчанию в /var/log/messages

man 3 syslog, syslogd результатов не принесли

про syslogv в мане прочитал, не пойму, как использовать. Если несложно, приведите пример записи сообщения из программы в файл, отличный от стандартного, заранее спасибо

Николаич.

anonymous

Your program doesn't control where syslog will write it's messages.
Your program only sends message to syslog.
Syslog writes your messages according to it's configuration file.
Read man syslog.conf

dima_z
()
Ответ на: комментарий от dima_z

Все это, конечно, верно, но не совсем. Есть параметр facility, к примеру. Я, наверное, не совсем понимаю механизм работы syslogd. К примеру: в syslog.conf нет упоминания о 'smb', однако файл smb.log регулярно пополняется, вопрос - как? P.S. man syslog.conf также читал, бестолку.Я тупой, поэтому и прошу пример, заранее спасибо

Николаич.

anonymous
()
Ответ на: комментарий от anonymous

> файл smb.log регулярно пополняется, вопрос - как?

Программа smbd пишет в него сама, не используя syslog. Ты тоже можешь так поступать, если хочешь. А если тебе надо через syslog, то писать он будет туда, куда ему указано в /etc/syslog.conf.

nobody ★★
()

На самом деле устройства(failities) syslog'а привязываются к файлам через вышеупомянутый кофиг. Помимо стандартных(mail,lpr, ...)существуют устройства для пользовательских нужд(local[1..7]) их и используем дабы не лезть в чужие логи.

В конфе что-нибудь типа:
local1.* /var/log/my.log

А в программе:
syslog(LOCAL1, WARNING, "Hi there!");

мог ошибиться в параметрах, но смысл ясен.

Enjoy!

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