Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/336.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python syslog正在工作,但SysLogHandler不工作_Python_Logging_Syslog_Uwsgi - Fatal编程技术网

Python syslog正在工作,但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)

我不能让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')
而且不起作用。我在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
中调用的函数中作为第一件事。您的问题解决了吗?