我正在使用 python 为 Postfix 编写一个小插件,并希望它发出日志消息。我对 python 不是特别熟悉,建议使用 loguru。当我只是将东西发送到 stderr 时,这当然很容易,但对于生产,我需要一个更好的解决方案。虽然 loguru 做了很多聪明的事情,但与本机日志系统的集成似乎并不是开箱即用的,也没有人关心实施。
我的第一个想法是简单地将输出写入 /dev/log,但是在我用于测试的 debian 12 lxc 容器上,它没有连接到任何东西。或者更具体地说 /dev/log 是 /run/systemd/journal/dev-log 的符号链接那尽管已被 pid 1 打开,但未连接。
rsyslogd 正在主机上运行,但我看不到由此打开的任何套接字。
如果我logger
在命令行运行,内容会神奇地出现在 /var/log/messages 中(rsyslog 有一个打开的文件句柄)。
如何将日志消息发送到 rsyslogd?以便携的方式? (即可以在 LXC、完整的 Linux 主机、docker 等上运行)
答案1
原来是这么简单......
import syslog
syslog.syslog(syslog.LOG_INFO, "Hello world")