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

Регистрация колб – Как реализовать ведение журнала в приложении Flask?

Здравствуйте, Друзья! В этом уроке мы узнаем о регистрации колб. Так чего же вы ждете? Давайте начнем !!

Автор оригинала: Pankaj Kumar.

Здравствуйте, Друзья! В этом уроке мы узнаем о регистрации колб. Так чего же вы ждете? Давайте начнем !!

Почему Ведение журнала?

Ведение журнала является неотъемлемой частью кодирования. Это поможет вам понять ход вашей программы на гораздо более глубоком уровне. Следовательно, это делает весь процесс выполнения кода более прозрачным.

Он также предоставляет разработчикам отдельный механизм для отслеживания и хранения всех событий, происходящих с вашим приложением в режиме реального времени ; он может отслеживать, по какому IP-адресу осуществляется доступ к сайту, к какой библиотеке и т. Д.

Позже разработчики могут использовать эти данные для анализа производительности приложения и принятия необходимых мер, таких как масштабирование.

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

4 Части колбы протоколирования

Вся процедура ведения журнала состоит из 4 частей: Регистратор, обработчик, Форматер, и Фильтр. Давайте рассмотрим их по отдельности

1. Регистратор

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

Каждая запись имеет уровень безопасности. Есть 4 уровня:

10 ОТЛАЖИВАТЬ
20 ИНФОРМАЦИЯ
30 ПРЕДУПРЕЖДЕНИЕ
40 ОШИБКА
50 КРИТИЧЕСКИЙ

Регистратор настроен на уровень журнала. Регистратор записывает только те журналы, серьезность которых выше, чем уровень журнала. Затем регистратор передает их обработчикам

2. Обработчик

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

3. Форматтеры

Формататоры журнала используются для указания компоновки записи журнала. Следовательно, вы можете указать формат сохраняемого журнала.

4. Фильтры

Используя фильтры, вы можете фильтровать записи журнала на основе некоторых параметров, отличных от уровня журнала.

Использование системы ведения журнала по умолчанию для Flask

Flask использует саму систему ведения журнала Python для отслеживания событий во время выполнения приложения.

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

Синтаксис базовой конфигурации таков:

import logging

logging.basicConfig(filename = 'filename.log', level=logging., format = '')

Журналы хранятся в файлах с расширением .log . Если вы хотите отображать журналы в самой консоли, удалите атрибут filename .

Атрибут level указывает уровень журнала регистратора, который может быть ОТЛАДОЧНЫМ, ИНФОРМАЦИОННЫМ, ПРЕДУПРЕЖДАЮЩИМ, ОШИБОЧНЫМ или КРИТИЧЕСКИМ. И формат определяет структуру записи.

Он может состоять из:

  • %(asctime)s — Метка времени в виде строки.
  • %(имяуровня)s —Уровень ведения журнала в виде строки.
  • %(name)s —Имя регистратора в виде строки.
  • %(threadname)s —Имя потока в виде строки.
  • %(сообщение)s —Сообщение журнала.

Чтобы вызвать регистратор, нам нужно вызвать ” app.logger.log_level (“сообщение”) ” везде, где это необходимо.

Реализация ведения журнала в наших приложениях Flask

Теперь давайте применим систему ведения журнала basicConfig по умолчанию в приложении Flask . Поэтому рассмотрим код:

from flask import Flask
import logging

app = Flask(__name__)

logging.basicConfig(filename='record.log', level=logging.DEBUG, format=f'%(asctime)s %(levelname)s %(name)s %(threadName)s : %(message)s')

@app.route('/blogs')
def blog():
    app.logger.info('Info level log')
    app.logger.warning('Warning level log')
    return f"Welcome to the Blog"

app.run(host='localhost', debug=True)

Теперь запустите сервер, и “record.log” будет создан в папке приложения Flask.

Попробуйте поиграть с веб-страницей, и вы начнете видеть события, начинающиеся в файле журнала.

Бревна

Вывод

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