Автор оригинала: 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.