установки: Python 3.3Python Logger не уважая уровень журнала
У меня есть блок тестовой программы, которую я хочу напечатать сообщения журнала. Python не печатает ничего, кроме WARNING или более высоких сообщений через этот регистратор, который я сделал, даже несмотря на то, что я задал значение журнала для INFO.
Вот код, я использую:
test_logger = logging.getLogger('DesktopprTester')
print(test_logger.getEffectiveLevel())
test_logger.setLevel(logging.INFO)
print(test_logger.getEffectiveLevel())
test_logger.warning('WARN')
test_logger.info('INFO')
А вот выход:
30 <-30 is WARN
20 <-20 is INFO
WARN
Он не печатает INFO. Поэтому мне не хватает всех моих информационных инструкций в этом файле ... и я не знаю, почему. Кажется, что документы согласны со мной. Когда я использовал корневой регистратор и задавал уровень для информации, он печатал бы его (и все остальное, что он делал). Теперь, когда я сделал свой собственный регистратор, он, похоже, не работает. Обратите внимание, что сообщения уровня WARNING все еще появляются, но они не то, что я хочу видеть.
Что-то я здесь не хватает? Я чувствую, что есть какой-то очевидный ответ я не вижу ...
это зафиксировал его. Документы на самом деле не сделали это слишком очевидным. Я понял, что у них есть обработчики, но похоже, что он перенаправляется на файлы или сетевые потоки. Благодарю. – Mgamerz
@Mgamerz, это их назначение (по unix, по крайней мере, 'stdin' и' stdout' можно считать «файлами»). В [примере в документации] (http://docs.python.org/2/howto/logging.html#configuring-logging) используется обработчик, но, к сожалению, 'logging' не предоставляет' StreamHandler' на регистраторах по умолчанию (как и на модуле) – goncalopp