syslog正在运行但SysLogHandler却没有

时间:2012-07-15 17:17:33

标签: 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)
   logger.info('Test')

并不起作用。我已经在我的syslog.conf中将{1}中的local1设置为输出,并且没有任何内容出现,但是如果我使用syslog它正在按预期工作:

/var/log/test.log

我在Debian 6上,在一个通过uwsgi服务的应用程序中。

你能帮助我吗?

3 个答案:

答案 0 :(得分:2)

UNIX套接字名称(地址参数)应以文件名结尾,而不是“/”。所以它通常应该是linux上的address ='/ dev / log'。

答案 1 :(得分:0)

您提供了local1作为字符串,但模块需要一个常量。即使默认值为LOG_USER,也请参阅http://docs.python.org/2/library/logging.handlers.html#logging.handlers.SysLogHandler

答案 2 :(得分:-1)

也许您的意思是logger.setLevel()而不是logger.setLever()

另外,你为什么要重新import logging.handlers