Почему Python logger не отображает информацию или сообщение об отладке на уровне logging.INFO? - PullRequest
0 голосов
/ 27 июня 2018

Может кто-нибудь объяснить мне, почему вызовы .info () и .debug () ничего не печатают, даже когда кажется, что они должны? Я чувствую, что есть кое-что очень простое, чего я не понимаю, даже после просмотра документации модуля логирования ...

$  python                                    
Python 3.6.5 (default, Apr 25 2018, 14:23:58) 
[GCC 4.2.1 Compatible Apple LLVM 9.1.0 (clang-902.0.39.1)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import logging
>>> logger = logging.getLogger()
>>> logger.setLevel(logging.INFO)
>>> logger.warning('This is a warning. We should see it.')
This is a warning. We should see it.
>>> logger.debug('This is a debug message. We should not see it.')
>>> logger.info('This is an info message. We should... see it, right?')
>>> logger.setLevel(logging.DEBUG)
>>> logger.info('This is an info message. We should... see it, right?')
>>> logger.debug('Weird. So I guess we are not going to see this as well?')
>>> 

1 Ответ

0 голосов
/ 27 июня 2018

Это логирование, только не до терминала. Если вы хотите увидеть вывод логов на ваш терминал (как и print), вам нужно добавить обработчик:

logger.addHandler(logging.StreamHandler())

После этого регистрация должна отображаться на вашем терминале, как и ожидалось.

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