Я використовую модуль реєстрації 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
вкладку stdout, і я не знаю, як можна безпечно відключити обробник консолі. Як я можу бути впевнений, що тимчасово видаляю консоль StreamHandler, а не іншу?
logger.handlers
воно повинно бути порожнім (як це передує logger.debug()
дзвінку). Код, про який йдеться, відображається лише []
(порожній список обробників). Перевірено за допомогою Python 2.7.15 та Python 3.6.6.