我无法让 SysLogHandler 工作,这让我抓狂。
这是我的代码:
import logging
import logging.handlers
logger = logging.getLogger()
sh = logging.handlers.SysLogHandler(address='/dev/log/', facility='local1')
logger.addHandler(sh)
logger.setLevel(logging.INFO)
logger.info('Test')
而且不起作用。我已将 local1 设置为在我的 syslog.conf 中的 /var/log/test.log 中输出,但没有出现任何内容,但是如果我使用 syslog,它会按预期工作:
import syslog
syslog.syslog(syslog.LOG_LOCAL1, 'Test from syslog')
我在 Debian 6 上,在一个通过 uwsgi 服务的应用程序中。
你能帮帮我吗?
请您参考如下方法:
UNIX 套接字名称(地址参数)应该以文件名结尾,而不是“/”。所以它通常应该是 address='/dev/log' 在 linux 上。
