2014-12-17 2 views
0

Вот простой пример, который получает новый регистратор и пытаетсяPython каротаж, подавляя выход

import logging 

log = logging.getLogger("MyLog") 
log.setLevel(logging.INFO) 
log.info("hello") 
log.debug("world") 

Если я позвоню logging.basicConfig(level=logging.INFO) сразу после импорта, "hello" будет печатать, но не "world", (что кажется странным, так как я установите уровень для отладки).

Как можно настроить API logging, чтобы все встроенные уровни были напечатаны на выводе?

+0

Вы устанавливаете уровень для 'INFO', а не' DEBUG'. –

ответ

1

Если вы вызываете basicConfig с уровнем X, ни одно сообщение журнала, которое не покрывается X, будет напечатано.

Вы звоните logging.basicConfig(level=logging.INFO) Здесь, logging.INFO не охватывает logging.DEBUG.

Может быть, вы хотели другого пути?

logging.basicConfig(level=logging.DEBUG) 

Печатается как информация и отладки вывод:

import logging 

logging.basicConfig(level=logging.DEBUG) 

log = logging.getLogger("MyLog") 
log.setLevel(logging.DEBUG) 
log.info("hello") 
log.debug("world") 
Смежные вопросы