Я использую модуль логов Python и хочу на некоторое время отключить ведение логов консоли, но это не работает.
#!/usr/bin/python
import logging
logger = logging.getLogger() # this gets the root logger
# ... here I add my own handlers
#logger.removeHandler(sys.stdout)
#logger.removeHandler(sys.stderr)
print logger.handlers
# this will print [<logging.StreamHandler instance at ...>]
# but I may have other handlers there that I want to keep
logger.debug("bla bla")
Приведенный выше код отображает bla bla
on-stdout, и я не знаю, как можно безопасно отключить обработчик консоли. Как я могу быть уверен, что я временно удаляю консоль StreamHandler, а не другую?
logger.handlers
оно должно быть пустым (как оно предшествует logger.debug()
вызову). Отображается только рассматриваемый код []
(пустой список обработчиков). Проверено на Python 2.7.15 и Python 3.6.6.