是否可以在 Python Twisted 中完全禁用日志记录?
Is it possible to disable logging entirely in Python Twisted?
我注意到普遍接受的解决方案是将其发送至 /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 ...
我注意到普遍接受的解决方案是将其发送至 /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 ...