我正在尝试从默认的文件处理程序移动DNF日志记录(/var/log/dnf.log)到JournalHandler作为任务的一部分。
我的.py
下面的基本代码片段import sys
import logging
from systemd.journal import JournalHandler
log = logging.getLogger('demo')
log.propagate = False
log.addHandler(JournalHandler())
log.setLevel(logging.INFO)
但是我看到下面的错误,
from systemd import journal
ImportError: No module named 'systemd'
- 我正在使用Yocto交叉编译器
- 我已经有了下面的配置
inherit systemd
SYSTEMD_AUTO_ENABLE = "enable"
DISTRO_FEATURES_append = " systemd python3-systemd"
我的系统已经支持systemd,问题是如何将systemd与DNF集成
ps -ef | grep systemd
root 2194 1 0 14:34 ? 00:00:01 /lib/systemd/systemd-journald
root 3567 1 0 14:34 ? 00:00:00 /lib/systemd/systemd-udevd
message+ 3799 1 0 14:34 ? 00:00:00 /usr/bin/dbus-daemon --system --address=systemd: --nofork --nopidfile --systemd-activation --syslog-only
root 3878 1 0 14:34 ? 00:00:00 /lib/systemd/systemd-logind
guest 7141 1 2 14:36 ? 00:00:00 /lib/systemd/systemd --user
guest 7174 7147 0 14:36 ttymxc3 00:00:00 grep --color=auto systemd
这个问题有解决办法吗?
我尝试了Yocto继承。导入sys和logging
也许这行得通:
import sys
import logging
try:
from systemd import journal
log = logging.getLogger('demo')
log.propagate = False
log.addHandler(JournalHandler())
log.setLevel(logging.INFO)
except ImportError:
print("No module named 'systemd'")