【发布时间】:2011-12-30 01:11:13
【问题描述】:
我在 perl 中记录这样的消息 -
syslog ("LOG_INFO", "this is info");
syslog ("LOG_WARNING", "this is warning");
当我看到这些消息时,我明白了——
Nov 15 20:20:47 ubuntu tag-0.0.2[13399]: this is info
Nov 15 20:20:47 ubuntu tag-0.0.2[13399]: this is warning
系统日志消息中的“ubuntu”一词恰好是本地主机的主机名。
有没有一种方法可以在本地登录并指定主机名?
我的应用程序处理来自其他主机的数据并记录有关它们的信息。如果我可以在记录消息时指定主机名,那就太好了,这样我就可以轻松地使用第三方工具,因为它们可以轻松地根据主机名过滤掉日志。
顺便说一句,如果我可以添加其他问题 - 为什么日志没有显示消息级别?我不应该期望在我正在记录的信息系统日志消息中看到“信息”吗?
【问题讨论】:
-
您是否使用标准的
syslogon UDP 514,或syslogon TCP 514,或rsyslog的RELP 连接接收日志?或者这一切都是“事后”在单台机器上通过日志消息完成的? -
我正在使用
tail -f /var/log/syslog命令读取我的日志消息...这些消息正在本地写入。我如何确定这些是否来自 tcp/udp/relp? -
您的其他主机是否设置为自动将消息转发到您的本地计算机?在这种情况下,它通常“正常工作”——至少在
rsyslog(8)下是这样。其他 syslog 守护进程可能不会发送所需的Host标头:rsyslog.com/article19 -
不是真的.. 我不接受来自其他主机的系统日志消息。我想将日志放在本地,但指定我自己的主机名