Различные части Django Logging
Ведение журнала Django содержит четыре типа конфигураций, которые описаны ниже.
1. Django Logger
Регистратор записывает события, когда приложение выполняется, и ведение журнала вызывается. Записи журнала хранятся в файле, классифицируя их по разным уровням журнала. Каждый уровень журнала указывает серьезность событий. Цели этих уровней журнала указаны ниже:
- ОТЛАЖИВАТЬ
Предоставляет низкоуровневую системную информацию для отладки.
- ИНФОРМАЦИЯ
Предоставляет общую информацию.
- ОШИБКА
Предоставляет информацию об основной проблеме приложения.
- ПРЕДУПРЕЖДЕНИЕ
Предоставляет информацию о незначительной проблеме приложения.
- КРИТИЧЕСКИЙ
Предоставляет информацию о критической проблеме приложения.
2. Обработчик Django
Основная задача обработчика - передать информацию журнала, которая хранится в файле журнала. Модуль ведения журнала содержит множество типов обработчиков, и несколько из них могут быть определены для одного и того же регистратора.
3. Django Formatter
Он используется для форматирования данных журнала. Данные обработчика не могут быть отправлены непосредственно в файл журнала, и данные обработчика требуют, чтобы они были преобразованы с помощью средства форматирования перед отправкой. Программа форматирования преобразует записи журнала в строку. Формат данных зависит от бизнес-логики обработчика.
4. Фильтр Django
Он используется для фильтрации сообщений журнала. Нет необходимости хранить все сообщения журнала в файле журнала. Для разных сообщений могут использоваться разные обработчики, а требуемые сообщения журнала могут быть отфильтрованы с помощью требуемых фильтров.
Предпосылки
Перед тем, как практиковать сценарий этого руководства, вы должны выполнить следующие задачи:
- Установите Django версии 3+ на Ubuntu 20+ (желательно)
- Создайте проект Django
- Запустите сервер Django, чтобы проверить, работает ли сервер правильно или нет.
Настройте приложение Django
- Выполните следующую команду, чтобы создать приложение Django с именем logapp.
- Выполните следующую команду, чтобы создать пользователя для доступа к базе данных Django. Если вы создали пользователя раньше, тогда не нужно запускать команду.
- Добавьте название приложения в INSTALLED_APP часть ру файл.
…
'logapp'
]
Задайте информацию для регистрации в настройках.ру
Открой настройки.ру файл из папки проекта Django и добавьте следующее содержимое для определения информации журнала. Свойства обработчики а также лесорубы установлены здесь. Согласно значениям свойств ведения журнала, ОТЛАЖИВАТЬ информация о регистрации уровня будет храниться в файле журнала с именем djangoapp.бревно когда будет выполнено приложение Django.
# Информация о журнале DjangoЖУРНАЛ =
# Определить версию журнала
'версия': 1,
# Включить существующие регистраторы
disable_existing_loggers: Ложь,
# Определить обработчики
'handlers':
'файл':
'level': 'DEBUG',
'класс': 'ведение журнала.FileHandler ',
'имя файла': 'djangoapp.бревно',
,
'приставка':
'класс': 'ведение журнала.StreamHandler ',
,
,
# Определить регистраторы
'loggers':
'django':
'обработчики': ['файл'],
'level': 'DEBUG',
'распространять': Истина,
,
,
Открой djangoapp.бревно файл для проверки записи журнала хранятся в файле или нет.
Установите информацию журнала в представлениях.ру
Информацию о регистрации можно также определить с помощью файла просмотра. Открой взгляды.ру файл из logapp папку и замените содержимое следующим скриптом. В этом сценарии, форматеры, обработчики, а также лесорубы части ведения журнала Django определены в config.dictConfig () метод. ОТЛАЖИВАТЬ информация о регистрации уровня будет храниться в файле журнала с именем djangoapp.бревно и будет напечатан в консоли при запуске приложения Django. индекс() функция используется для отправки простого текста заголовка в браузер и display_log () функция определена для отправки простого текста в терминал и текста заголовка в браузер.
взгляды.ру
# Импортировать модуль логированияимпорт журнала
# Импортировать HttpResponse для отправки данных в браузер
из джанго.http импорт HttpResponse
# Определить конфигурации журналирования
Ведение журнала.config.dictConfig (
# Определить версию журнала
'версия': 1,
# Включить существующие регистраторы
disable_existing_loggers: Ложь,
# Определить средства форматирования
'formatters':
'приставка':
'формат': '% (сообщение) s'
,
'файл':
'формат': '% (сообщение) s'
,
# Определить обработчики
'handlers':
'приставка':
'класс': 'ведение журнала.StreamHandler ',
'форматировщик': 'консоль'
,
'файл':
'level': 'DEBUG',
'класс': 'ведение журнала.FileHandler ',
'formatter': 'файл',
'имя файла': 'djangoapp.бревно'
,
# Определить регистраторы
'loggers':
'django':
'level': 'DEBUG',
'обработчики': ['файл', 'консоль'],
)
# Создаем объект логгеров
logger = ведение журнала.getLogger ('__ имя__')
# Определить функцию для индексной страницы
def index (запрос):
return HttpResponse ("
Это приложение Django
")# Определить функцию для страницы журнала
def display_log (запрос):
# Отправить тест!! выводить сообщение на стандартный вывод
регистратор.ошибка («Тестирование журнала Django…»)
return HttpResponse ("
Сообщение журнала Django
")Измените содержимое URL-адреса.ру файл со следующим скриптом. В сценарии пустой путь (”) путь определен для вызова индекс() функция взглядов и 'бревно/'путь используется для вызова display_log () функция просмотров.
URL-адреса.ру
из джанго.путь импорта URLиз представлений импорта logapp
urlpatterns = [
путь (", просмотров.индекс),
путь ('журнал /', просмотры.display_log)
]
Запустите следующий URL-адрес, чтобы отобразить страницу индекса.
http: // локальный: 8000
Запустите следующий URL-адрес, чтобы вызвать метод display_log (), который отобразит текстовое сообщение в браузере и текстовое сообщение в терминале. Записи журнала будут добавлены в djangoapp.бревно файл.
Заключение
В этом руководстве показаны два способа использования журнала Python в приложении Django для хранения информации журнала уровня DEBUG. Ожидается, что основная концепция ведения журнала Django будет понятна читателям после прочтения этого руководства.