添加新的系统日志工具

Sta*_*ann 27 logs rsyslog syslog

我想使用 syslog 来记录来自我的基于 PHP 的站点的消息。我的问题是 - 我可以添加自定义设施名称吗?我知道有一些预定义的设施,例如:

auth, authpriv, cron, dæmon, kern, lpr, mail, mark, news, syslog, user, UUCP and local0 through local7.
Run Code Online (Sandbox Code Playgroud)

据我所知,我可以为此使用 local0 - local6 设施。

但我只是觉得如果我可以在 syslog 中添加这样的东西:

mySiteName.* /var/log/mySiteName.log
Run Code Online (Sandbox Code Playgroud)

其他人在视觉上更容易理解。不幸的是,上面的行导致:

rsyslogd-3000: unknown facility name "mySiteName"
Run Code Online (Sandbox Code Playgroud)

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

Gil*_*il' 29

系统日志接口仅允许一组固定的设施,通过在常数来定义/usr/include/sys/syslog.h。自定义工具的唯一规定是local0通过local7.

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


小智 7

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

:programname, isequal, "uptimed" /var/log/uptimed.log
Run Code Online (Sandbox Code Playgroud)

  • 您指的是哪个系统日志实现?(还是这个标准?) (2认同)
  • 将此行添加到 /etc/rsyslog.conf 与 rsyslogd 8.4.2 一起使用 (2认同)