Я хотел бы отобразить все журналы выше уровня INFO, но сохранить в файл все журналы выше уровня DEBUG. Я понимаю, как установить уровень с помощью setLevel, но как сохранить журнал, не отображая его?
INFO
DEBUG
setLevel
Вам нужны два обработчика (WARNING уровень для StreamHandler), что прекрасно объясняется в кулинарной книге
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)