Проблемы с регистрацией при индивидуальном использовании модулей - PullRequest
0 голосов
/ 30 сентября 2011

Я широко использую модуль регистрации во всех моих собственных модулях. Это прекрасно работает, когда я создаю конфигурацию для модуля регистрации в моей основной программе. Но когда я хочу протестировать один из моих модулей индивидуально в интерактивной оболочке и выполнить logging.getLogger ("foo"), я получаю ошибку:

Не найдены обработчики для логгера "foo"

Это, конечно, имеет смысл, поскольку модуль регистрации еще не настроен. Когда я просто вызываю logging.basicConfig () во всех моих модулях снова, мои журналы будут напечатаны более одного раза (в документации по питону также сказано, что вызову basicConfig () нужно только один раз в основном потоке).

Итак, как это сделать чисто? Могу ли я проверить, настроен ли модуль регистрации?

1 Ответ

1 голос
/ 30 сентября 2011

Объясняется в Ведение журнала модуля How-To .Вы можете создать вспомогательный модуль, который будет включен везде, где вы ведете какую-либо запись:

import logging
logging.getLogger('your_top_level_package').addHandler(logging.NullHandler())
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...