Показать все журналы выше информации, но сохранить в файл все журналы выше отладки - PullRequest
0 голосов
/ 14 мая 2019

Я хотел бы отобразить все журналы выше уровня INFO, но сохранить в файл все журналы выше уровня DEBUG. Я понимаю, как установить уровень с помощью setLevel, но как сохранить журнал, не отображая его?

1 Ответ

1 голос
/ 14 мая 2019

Вам нужны два обработчика (WARNING уровень для StreamHandler), что прекрасно объясняется в кулинарной книге

# create logger with 'spam_application'
logger = logging.getLogger('spam_application')
logger.setLevel(logging.DEBUG)
# create file handler which logs even debug messages
fh = logging.FileHandler('spam.log')
fh.setLevel(logging.DEBUG)
# create console handler with a higher log level
ch = logging.StreamHandler()
ch.setLevel(logging.WARNING)
# create formatter and add it to the handlers
formatter = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s')
fh.setFormatter(formatter)
ch.setFormatter(formatter)
# add the handlers to the logger
logger.addHandler(fh)
logger.addHandler(ch)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...