添加新的系统日志工具

添加新的系统日志工具

我想使用 syslog 来记录来自我的基于 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"

那么 - 有没有办法使用自定义设施名称?

答案1

系统日志接口只允许一组固定的设施,由 中的常量定义/usr/include/sys/syslog.h。定制设施的唯一规定是local0通过local7.

要分离不同服务器的日志,您可以使用过滤器来匹配每个日志消息的来源或文本。 Rsyslog具有相当强大的功能过滤器(阅读可用于匹配的属性)。

答案2

不完全适用于这个问题,但希望对于不提供自己的设施的守护进程有用的例子:

:programname, isequal, "uptimed" /var/log/uptimed.log

相关内容