尝试写入系统日志

2024-04-18 09:58:42 发布

您现在位置:Python中文网/ 问答频道 /正文

我在linux中工作,rsyslogd进程正在监听514端口。 以下代码无法写入/var/log/syslog。 有人知道有什么问题吗?

import logging
import logging.handlers


root_logger = logging.getLogger()
root_logger.setLevel(config.get_value("log_level"))
syslog_hdlr = SysLogHandler(address='/dev/log', facility=SysLogHandler.LOG_DAEMON)
syslog_hdlr.setLevel(logging.DEBUG)
formatter = logging.Formatter('%(name)s: %(levelname)s %(message)s')
syslog_hdlr.setFormatter(formatter)
root_logger.addHandler(syslog_hdlr)

logger = logging.getLogger("imapcd.daemon")
logger.debug('test')

Tags: 端口importlog进程linuxformatterloggingroot
1条回答
网友
1楼 · 发布于 2024-04-18 09:58:42

如果我做了一些更改,此代码在我的系统中可以正常工作:

import logging.handlers as sh
syslog_hdlr = sh.SysLogHandler(address='/dev/log', facility=sh.SysLogHandler.LOG_DAEMON)

以及

root_logger.setLevel(logging.DEBUG)

因此,请检查从config获取的日志记录级别是否比DEBUG更严格(例如:如果设置为INFO,则不会打印调试消息)。

如果在syslog上仍然看不到任何内容,请尝试使用syslog模块,并查看是否从中获得任何内容:

import syslog
syslog.syslog(syslog.LOG_ERR, "MY MESSAGE")

相关问题 更多 >