我有许多使用logging.error(msg)
样式记录消息的脚本。
我原来是由FileHandler
处理的,但现在我需要将其更改为SysLogHandler
。我无法让SysLogHandler
工作,我的意思是没有例外,但日志中没有任何结果。
另一方面,我可以使用以下代码通过syslog.syslog
记录消息:
import syslog
syslog.openlog(ident="LOG_IDENTIFIER",logoption=syslog.LOG_PID, facility=syslog.LOG_LOCAL3)
syslog.syslog('syslog test msg local3')
这就是我用于sysloghandler
:
import logging
import logging.handlers
logger = logging.getLogger('myLogger')
handler = logging.handlers.SysLogHandler(address='/dev/log',facility=19)
logger.addHandler(handler)
logging.error('sysloghandler test msg local3')
facility=19
因为这是SysLogHandler.LOG_LOCAL
的价值。
我认为问题是address
设置。日志文件位于/var/log
,但似乎不起作用。我已经尝试不指定地址(因此它默认为localhost
端口514)仍然没有记录任何内容。
如果不是问题,我需要知道如何确定正确的地址信息或如何解决问题。