Автор оригинала: Python Examples.
Регистрация Python – Уровень предупреждения
Для регистрации информационной линии с использованием журнала Python,
- Проверьте, имеет ли регистратор регистратора в результате предупреждения о предупреждении.
- Используйте логизацию. Способ. Воннинг (), с сообщением, переданному в качестве аргумента, чтобы распечатать строку предупреждения в консоль или файл журнала.
Если уровень регистрации установлен на предупреждение, Info или Debug, то регистратор будет печать или записывать линии предупреждения в файл консоли или журнала.
Если вы устанавливаете уровень ведения журнала на ошибку или критично, то строки предупреждения или более низкие уровни ведения ведения ведения журнала (информация, отладки) не будут записаны в файл журнала.
Порядок уровня регистрации:
DEBUG < INFO < WARNING < ERROR < CRITICAL
Пример 1: строки предупреждения журнала
В этом примере мы будем импортировать модуль для ведения журнала, установить уровень регистратора в предупреждение, а затем использовать предупреждение () метод для регистрации линии предупреждения.
Python Program
import logging #create a logger logger = logging.getLogger('mylogger') #set logger level logger.setLevel(logging.WARNING) #or you can set one of the following level #logger.setLevel(logging.INFO) #logger.setLevel(logging.DEBUG) handler = logging.FileHandler('mylog.log') # create a logging format formatter = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s') handler.setFormatter(formatter) logger.addHandler(handler) #write a Warning message logger.warning('This is a WARNING message')
После запуска вышеуказанной программы в mylog.log Файл, вы можете увидеть следующий контент.
Файл журнала – mylog.log
2019-02-25 22:27:00,071 - mylogger - WARNING - This is an WARNING message
Пример 2: Журнал только предупреждающие линии с использованием регистратора Python
Вы можете установить Handler Filter To Grogger для регистрации только предупреждающих линий к файлу журнала.
Python Program
import logging class MyFilter(object): def __init__(self, level): self.__level = level def filter(self, logRecord): return logRecord.levelno <= self.__level #create a logger logger = logging.getLogger('mylogger') logger.setLevel(logging.WARNING) handler = logging.FileHandler('mylog.log') formatter = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s') handler.setFormatter(formatter) #set filter to log only WARNING lines handler.addFilter(MyFilter(logging.WARNING)) logger.addHandler(handler) logger.warning('This is a WARNING message') logger.error('This is an ERROR message') logger.critical('This is a CRITICAL message')
Вывод консоли
2019-02-26 22:20:28,332 - mylogger - WARNING - This is a WARNING message
Только предупреждающее сообщение было зарегистрировано, но не ошибка и критически важно.
Резюме
В этом руководстве примеров Python мы узнали, как использовать отладочную учетную запись библиотеки журнала Python.