Регистратор не печатает сообщения отладки после установки обработчика и уровня журнала - PullRequest
0 голосов
/ 04 декабря 2018

У меня есть следующий минималистский пример теста logging, основанного на Журнале регистрации журналов :

import logging

logger = logging.getLogger('test')
ch = logging.StreamHandler()
ch.setLevel(logging.DEBUG)

formatter = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - '
                              '%(message)s')

ch.setFormatter(formatter)
logger.addHandler(ch)


print(logger.handlers)
logger.debug('hello world')

Приведенный выше выводит следующий вывод:

$ python test_log.py
[<StreamHandler <stderr> (DEBUG)>]

Поскольку я определил обработчик и установил уровень ведения журнала для отладки, я ожидал, что сообщение журнала hello world появится в приведенном выше примере.

1 Ответ

0 голосов
/ 04 декабря 2018

Если уровень регистратора не установлен явно, система просматривает уровень регистраторов предков, пока не дойдет до регистратора, уровень которого установлен явно.В данном случае это корневой регистратор, который является родителем регистратора с именем 'test'.Установка уровня этого регистратора или корневого регистратора на DEBUG приведет к выводу сообщения журнала.См. эту часть документации для потока информации о событиях в журнале Python.

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