добавить новое средство системного журнала

27

Я хотел бы использовать системный журнал для регистрации сообщений, приходящих с моего сайта на основе PHP. У меня вопрос - могу ли я добавить произвольное название объекта? Я знаю, что есть предопределенные объекты, такие как:

auth, authpriv, cron, dæmon, kern, lpr, mail, mark, news, syslog, user, UUCP and local0 through local7.

И, как я понимаю, я мог бы использовать local0 - local6 для этого.

Но я просто чувствую, что если бы я мог добавить что-то вроде этого в системный журнал:

mySiteName.* /var/log/mySiteName.log

Это было бы визуально легче понять для других. К сожалению, выше строки приводит к:

rsyslogd-3000: unknown facility name "mySiteName"

Итак, есть ли способ использовать пользовательское имя объекта?

Стан
источник

Ответы:

27

Интерфейс системного журнала допускает только фиксированный набор средств, определенных константами в /usr/include/sys/syslog.h. Единственное условие для таможенных услуг local0через local7.

То, что вы можете сделать, чтобы отделить журналы различных серверов, - это использовать фильтры для сопоставления по источнику или тексту каждого сообщения журнала. Rsyslog имеет довольно мощные фильтры (см. Свойства, доступные для сопоставления ).

Жиль "ТАК - перестань быть злым"
источник
7

Не совсем применимо к вопросу, но, надеюсь, полезный пример для демонов, не предоставляющих свои собственные возможности:

:programname, isequal, "uptimed" /var/log/uptimed.log
eMPee584
источник
2
На какую реализацию системного журнала вы ссылаетесь? (Или это стандарт?)
sr_
1
Добавление этой строки в /etc/rsyslog.conf работало с rsyslogd 8.4.2
ztk