尝试写入syslog

时间:2013-06-16 09:40:06

标签: python linux syslog

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

1 个答案:

答案 0 :(得分:9)

如果我做了一些更改,这段代码在我的系统中运行正常:

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