如何通过 Python 登录到 journald (systemd)?

新手上路,请多包涵

我想 logging.info() 去 journald (systemd)。

到目前为止,我只找到了读取 journald(不是我想要的)的 python 模块或像这样工作的模块: journal.send('Hello world')

原文由 guettli 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 647
2 个回答

python-systemd 有一个 JournalHandler 可以与日志框架一起使用。

从文档中:

 import logging
from systemd.journal import JournalHandler

log = logging.getLogger('demo')
log.addHandler(JournalHandler())
log.setLevel(logging.INFO)
log.info("sent to journal")

原文由 martineg 发布,翻译遵循 CC BY-SA 3.0 许可协议

作为官方包的替代品, systemd 包 适用于 python 3.6。它的源码也在 github 上

实现是官方库的镜像,有一些小的变化:

 import logging
from systemd import journal

log = logging.getLogger('demo')
log.addHandler(journal.JournaldLogHandler())
log.setLevel(logging.INFO)
log.info("sent to journal")

或者更短的方法:

 from systemd import journal

journal.write("Hello Lennart")

原文由 bschlueter 发布,翻译遵循 CC BY-SA 4.0 许可协议

推荐问题