Я знаю, как сделать twisted использования питоном каротажа (docs)Использования Python Logging с витым
Но нормальный питон протоколирования еще проглатывание. Печать-заявления видны, но logger.warn('...')
нет.
Я использую эту регистрацию, установленный в моей библиотеке, которую я хочу использовать из крученой:
import logging
logger=logging.getLogger(os.path.basename(sys.argv[0]))
class Foo:
def foo(self):
logger.warn('...')
Я не хочу, чтобы изменить мою библиотеку, чтобы использовать витую протоколирование, так как библиотека уже используется в много проектов, которые не используют скрученные.
Если у меня возникла проблема с Google, я нахожу решения, которые соединяют скрученные журналы с протоколом python.
Как я могу просмотреть запись в моей библиотеке (без ее изменения)?
Я думаю, вы ответили на вопрос, который является противоположностью того, что - спросил плакат. Если события журнала поступают через 'logging', то не должно быть проблем с доставкой их в систему регистрации Twisted. Если ожидание (по модулю 'logging') заключается в том, что потребитель журнала собирается блокировать, а затем потребитель не блокирует, какой вред был сделан? –
@ Jean-Paul Calderone: Возможно, ошибочно, у меня сложилось впечатление, что сторонний модуль, который использует запись stdlib, может быть задействован. Чтобы доставлять события из таких модулей в неблокирующие выходы Twisted из регистраторов stdlib, пользователь должен использовать неблокирующий обработчик, такой как «QueueHandler», и иметь соответствующий «QueueListener» разговор с неблокирующими приемниками ввода/вывода - IIUC. –
Почему? Неблокирующий обработчик Twisted будет ... не ... заблокирован. Здесь нет проблемы для QueueHandler. QueueHandler был бы полезен, если бы были обработаны * блокирующие * обработчики журналов в Twisted, тогда QueueHandler был бы полезен для доставки событий к ним * без * блокировки. Но нет (насколько это можно понять из исходного вопроса). –