无法在Python中将调试消息记录到系统日志中
我正在MacOSX上使用Python3.4。我有以下代码来设置记录器:无法在Python中将调试消息记录到系统日志中,python,macos,logging,python-3.x,Python,Macos,Logging,Python 3.x,我正在MacOSX上使用Python3.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.setFor
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
无法正常工作。我无法在系统日志输出中看到任何LOGGER.info()
或LOGGER.debug()
消息。我可以看到错误和警告消息,但看不到信息或调试。即使调整/etc/syslog.conf
文件也没有效果(即使在使用launchctl显式地重新加载syslog守护进程之后)。我在这里遗漏了什么?试试:address='/dev/log'
文档中有点让人困惑,但“地址”应该是一个unix域套接字,而不是一个文件。你确定你有该文件的写入权限吗?@inspectorG4dget你指的是哪个文件?我前面提到的FileHandler附加的syslog.log文件工作正常,或者syslog记录了一些消息(但不是全部)的/var/run/syslog套接字?显然,权限不是问题所在。