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

新手上路,请多包涵

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

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

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

阅读 649
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 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题