无法在Python中将调试消息记录到系统日志中

时间:2014-07-19 22:35:57

标签: python macos logging python-3.x

我在Mac OSX上使用Python 3.4。我有以下代码来设置记录器:

LOGGER = logging.getLogger(PROGRAM_NAME)
LOGGER.setLevel(logging.DEBUG)
LOGGER.propagate = False

LOGGER_FH = logging.FileHandler(WORKING_DIR + "/syslog.log", 'a')
LOGGER_FH.setLevel(logging.DEBUG)
LOGGER_FH.setFormatter(logging.Formatter('%(name)s: [%(levelname)s] %(message)s'))
LOGGER.addHandler(LOGGER_FH)

LOGGER_SH = logging.handlers.SysLogHandler(address='/var/run/syslog',
                                       facility=logging.handlers.SysLogHandler.LOG_USER)
LOGGER_SH.setLevel(logging.DEBUG)
LOGGER_SH.setFormatter(logging.Formatter('%(name)s: [%(levelname)s] %(message)s'))
LOGGER.addHandler(LOGGER_SH)

FileHandler完美无缺,我能够在日志中看到所有日志记录级别的所有预期消息。 SysLogHandler无法正常使用。我在syslog输出中看不到任何LOGGER.info()LOGGER.debug()消息。我可以看到错误和警告消息,但不能查看信息或调试。即使在使用launchctl显式重新加载syslog守护进程之后,即使调整/etc/syslog.conf文件也没有任何效果。我在这里缺少什么?

1 个答案:

答案 0 :(得分:1)

尝试:地址=' / dev / log'

这有点令人困惑,但是"地址"应该是一个unix域套接字,而不是文件。