我想将 twistd.py 的日志重定向到 python 的日志。当正常启动一个 .tac
文件时,我可以很容易地做到这一点:
from twisted.python.log import PythonLoggingObserver, ILogObserver
from twisted.application import service
application = service.Application("FooApp")
application.setComponent(ILogObserver, PythonLoggingObserver().emit)
但是,我在写IPlugin
的时候好像没有Application
。相反,我只有一个实现 IServiceMaker
和 IPlugin
的类,其中 makeService
返回一个 service.Service
。我该如何设置这个日志观察器?
请注意,我不只是想添加一个 python 日志记录观察器,我想重定向 twistd 的日志记录,以便它只通过 python 的内置日志记录系统。
看twistd的--logger
参数:
# mylogger.py
from twisted.python import log
def logger():
return log.PythonLoggingObserver().emit
然后调用 twistd:twistd --logger=mylogger.logger
。
我是一名优秀的程序员,十分优秀!