Должны ли библиотечные регистраторы иметь только нулевые обработчики? - PullRequest
0 голосов
/ 17 февраля 2019

Я занимаюсь разработкой новой библиотеки и совершенно не знаком с концепцией ведения журнала.

Я добавил журналирование с использованием модуля журналирования Python для этого же.В журналировании, которое я дал, есть определенный набор FileHandler для уровня отладки и StreamHandler, установленный на уровне предупреждения.Документация Python о ведении журнала гласит, что в библиотеках должны быть только нулевые обработчики.Вот ссылка на документацию https://docs.python.org/3/howto/logging.html#library-config

Будет ли проблема, если у меня все еще есть эксклюзивные обработчики файлов и потоков в моей библиотеке.

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

Было бы очень полезно, если бы кто-то смог устранить пробел в моем понимании относительно реализации ведения журнала в библиотеках.

Дополнительный вопрос: как разработчик приложения, использующий мою библиотеку, сможет получить доступ к / включитьжурналы, которые я создал в библиотеке, если я установил обработчик Null?

1 Ответ

0 голосов
/ 17 февраля 2019

к вашему первому вопросу - [из документации по питону] -

"Разработчик приложения знает свою целевую аудиторию и какие обработчики наиболее подходят для их приложения: если вы добавите обработчики" под капотом "«Вы могли бы помешать их способности проводить модульные тесты и предоставлять журналы, которые соответствуют их требованиям». 1

как пользователь вашей библиотеки, я могу захотеть показывать логи из your_pkg.foo.baz, но не из модуля your_pkg.foo.добавление обработчиков из вашей библиотеки может заставить меня сделать это (в зависимости от уровня журнала, который был установлен для регистраторов и обработчиков).

к вашему второму вопросу - добавление Nullhandler позволяет пользователю выбирать свою собственную регистрациюнеобходимо настроить новые обработчики с помощью logging.get_logger ("your_pkg.foo.baz"). add_handler (...).

, чтобы полностью понять механизм ведения журнала (средства ведения журнала, обработчики, фильтры и распространение) -Вы можете посмотреть здесь - поток регистрации

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...