0

我在 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')
4

1 回答 1

9

如果我进行一些更改,此代码在我的系统中运行良好:

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

root_logger.setLevel(logging.DEBUG)

因此,请检查您从中获得的日志记录级别是否configDEBUG(例如:如果它设置为INFO不打印调试消息)更具限制性。

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

import syslog
syslog.syslog(syslog.LOG_ERR, "MY MESSAGE")
于 2013-06-16T10:50:27.347 回答