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

问题描述 投票:13回答:2

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

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

python logging systemd
2个回答
23
投票

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")

6
投票

作为官方软件包的替代品,systemd package可以与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")
最新问题
© www.soinside.com 2019 - 2024. All rights reserved.