2013-03-05 2 views
2

Я хочу перенаправить ведение журнала twistd.py на ведение журнала python. При запуске файла .tac обычно я могу легко это сделать:Как установить twistd.py ILogObserver при использовании IPlugin?

from twisted.python.log import PythonLoggingObserver, ILogObserver 
from twisted.application import service 

application = service.Application("FooApp") 
application.setComponent(ILogObserver, PythonLoggingObserver().emit) 

Однако, я, кажется, не имеют Application при написании IPlugin. Вместо этого у меня есть класс, который реализует IServiceMaker и IPlugin, где makeService возвращает service.Service. Как установить этот наблюдатель журнала?

Обратите внимание, что я не просто хочу добавить наблюдателя журнала python, я хочу, чтобы переадресовать ведение журнала twistd, чтобы он проходил только через встроенную систему ведения журнала python.

ответ

3

Посмотрите на --logger параметра twistd в:

# mylogger.py 
from twisted.python import log 

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

и затем вызвать twistd: twistd --logger=mylogger.logger.

+0

Кажется, что нужно работать - я забыл настроить ведение журнала python раньше, когда я сказал, что это не так. Благодаря! – Claudiu

Смежные вопросы