是否可以在Python Twisted中完全禁用日志记录?

是否可以在Python Twisted中完全禁用日志记录?,python,logging,twisted,Python,Logging,Twisted,我注意到,普遍接受的解决方案是将其发送到/dev/null。然而,根据设计,每当SIGUSR1被发送到twisted时,日志文件就会被旋转。然后将旋转/dev/null,这是不需要的。事实上,我有一半的想法认为这是一个错误 不管怎么说,有人知道如何绕过这一点吗 您可以编写一个自定义记录器,它实际上不记录任何内容: # yourlogger.py from zope.interface import implementer from twisted.logger import ILogObserv

我注意到,普遍接受的解决方案是将其发送到/dev/null。然而,根据设计,每当SIGUSR1被发送到twisted时,日志文件就会被旋转。然后将旋转/dev/null,这是不需要的。事实上,我有一半的想法认为这是一个错误


不管怎么说,有人知道如何绕过这一点吗

您可以编写一个自定义记录器,它实际上不记录任何内容:

# yourlogger.py
from zope.interface import implementer
from twisted.logger import ILogObserver

@implementer(ILogObserver)
class NullObserver(object):
    def __call__(self, event):
        pass
确保它是可导入的,然后从命令行请求它:

$ twistd --logger yourlogger.NullObserver -y ...

在什么情况下?你在写你自己的主要作品吗?一些库代码?你在跑步吗?扭曲?还有其他的吗?某个第三方CLI?我正在运行twistd,以python文件作为参数(-y)。我看到twisted手册页上说,for--logfile,那“-”是stdout。我是否只需指定“-logfile=-”然后通过管道将/dev/null?还是我误读了用法?如果您想让它daemonize,就不能使用
--logfile=-
。如果不需要它来进行后台监控,
twist…>/dev/null
应该可以工作。。。。除了
twist
不支持
-y
,所以你必须移植到插件。不幸的是,我需要它来监视。。。