2

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)

Applicationしかし、私はを書くときに を持っていないようですIPlugin。代わりに、 and を実装するクラスがIServiceMakerありIPlugin、 wheremakeServiceは a を返しますservice.Service。このログ オブザーバーを設定するにはどうすればよいですか?

Python ロギング オブザーバーを追加するだけでなく、python の組み込みロギング システムのみを通過するように twistd のロギングをリダイレクトしたいことに注意してください。

4

1 に答える 1

3

twistd の--loggerパラメータを見てください:

# mylogger.py
from twisted.python import log

def logger():
    return log.PythonLoggingObserver().emit

そして twistd: を呼び出しますtwistd --logger=mylogger.logger

于 2013-03-05T17:16:54.297 に答える