mic*_*has 19 arch-linux systemd logger systemd-journald
该logger命令通过 syslog 记录一个条目,它通常将该行放入某个文件中,例如/var/log/messages.
如果我正确理解Arch Linux 中的文档,所有日志记录都是通过 systemd 完成的,但是我找不到logger使用journalctl.
logger在 Arch Linux 中给出的消息究竟会发生什么?/var/log/journal/*/system.journal。)journalctl吗?)str*_*gee 17
因为日志消息没有出现在日志中的任何地方,我怀疑您没有正确设置系统日志到日志转发,并且消息只是被丢弃了。由于您在 Arch 上,这很容易解决。确保syslog-ng安装了软件包:
pacman -S syslog-ng
Run Code Online (Sandbox Code Playgroud)
然后确保它在启动时启用:
systemctl enable syslog-ng
Run Code Online (Sandbox Code Playgroud)
最后,由于启用服务不会自动启动它们,启动服务:
systemctl start syslog-ng
Run Code Online (Sandbox Code Playgroud)
有关详细信息,请参阅此 Arch Wiki 页面。
以下是有关此问题发生原因的一些背景信息:
有某种方式可以登录到经典的 syslog,也有某种方式可以登录到新的 systemd 日志。这些是不相容的;支持 syslog 的应用程序不能神奇地支持日志——作者必须明确实现这个功能。在 systemd 系统上运行时,支持 systemd 日志的应用程序通常被称为支持“原生 API”。
由于 syslog API 和 journald API 不同,不支持 journald API 的应用程序只会丢弃它们的日志消息。这就是你的情况。
该syslog-ng包的工作是将系统日志 API 调用转换为日志 API 调用。通过这种方式,系统日志消息最终会进入日志。
| 归档时间: |
|
| 查看次数: |
28811 次 |
| 最近记录: |