我在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
文件也没有任何效果。我在这里缺少什么?
答案 0 :(得分:1)
尝试:地址=' / dev / log'
这有点令人困惑,但是"地址"应该是一个unix域套接字,而不是文件。