Рубрики
Без рубрики

Линии отладки Python

Автор оригинала: Python Examples.

Регистрация Python – Уровень отладки

Для регистрации линии отладки с помощью журнала Python

  • Проверьте, имеет ли логин, по крайней мере, уровень регистрации отладки.
  • Используйте MOGUALD.DEBUG () метод, с помощью сообщения, передаваемого в качестве аргумента, чтобы распечатать линию отладки в консоль или файл.

Если уровень регистрации установлен для отладки, то регистратор будет печать или записывать линии отладки в консоль или файл журнала.

Если вы устанавливаете уровень регистрации на информацию, предупреждение, ошибку или критику, то линии отладки не будут записаны в файл журнала.

Порядок уровня регистрации:

DEBUG < INFO < WARNING < ERROR < CRITICAL

Пример 1: LOG LINES DEBUG

В этом примере мы сможем импортировать модуль для ведения журнала, установить уровень регистратора в отладку, а затем использовать метод Debug () для регистрации линии отладки.

Python Program

import logging

#create a logger
logger = logging.getLogger('mylogger')
#set logging level
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 debug message
logger.debug('This is a DEBUG message')

После запуска вышеуказанной программы в mylog.log Файл, вы можете увидеть следующий контент.

Файл журнала – mylog.log

2019-02-25 22:31:40,353 - mylogger - DEBUG - This is an DEBUG 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.DEBUG)
handler = logging.FileHandler('mylog.log')
formatter = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s')
handler.setFormatter(formatter)
#set filter to log only DEBUG lines
handler.addFilter(MyFilter(logging.DEBUG))
logger.addHandler(handler)

#write a debug line to log file
logger.debug('This is a DEBUG message')
logger.info('This is a INFO message')
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:25:05,280 - mylogger - DEBUG - This is a DEBUG message

Только отладочное сообщение было зарегистрировано, но никаких других сообщений, которые не являются информацией, предупреждением, ошибкой и критическими.

Резюме

В этом руководстве примеров Python мы узнали, как использовать отладочную учетную запись библиотеки журнала Python.