Python syslog正在工作,但SysLogHandler不工作
我不能让SysLogHandler工作,这让我发疯 这是我的代码:Python syslog正在工作,但SysLogHandler不工作,python,logging,syslog,uwsgi,Python,Logging,Syslog,Uwsgi,我不能让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)
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')
而且不起作用。我在syslog.conf中将local1设置为在syslog.conf的/var/log/test.log
中输出,但没有显示任何内容,但是如果使用syslog,它会按预期工作:
import syslog
syslog.syslog(syslog.LOG_LOCAL1, 'Test from syslog')
我在Debian 6上,在uwsgi提供的应用程序中
你能帮我吗?也许你是说
logger.setLevel()
而不是logger.setLever()
另外,为什么要重新导入logging.handlers?您以字符串形式提供了
local1
,但模块需要一个常量。即使默认值是LOG\u USER
,请参见UNIX套接字名称(地址参数)应以文件名而不是“/”结尾。因此,在linux上,它通常应该是address='/dev/log' 是的,这是一个打字错误,代码是正确的。我正在重新导入logging.handlers,因为如果没有它,我将获得AttributeError。您将此代码放在哪里?它应该是应用程序中执行的第一个代码。@Tisho在\uuuuu main\uuuu
中调用的函数中作为第一件事。您的问题解决了吗?