Python

Як використовувати журналювання Django?

Як використовувати журналювання Django?
Кожен програміст стикається з помилками при написанні коду для розробки будь-якого додатка. Налагодження використовується кодером для вирішення помилок програми. Його функція реєстрації полегшує процес налагодження, зберігаючи у файлі повідомлення про помилки, попередження та інформаційні повідомлення. Ці повідомлення допомагають кодерам відстежувати події, розуміти причину небажаного виводу та правильно модифікувати код для створення безпомилкової програми. Python має вбудований модуль реєстрації для більш ефективного виконання завдань, пов’язаних із веденням журналу. Django - це популярний фреймворк python, який використовує вбудований модуль реєстрації в Python для налагодження. Про те, як модуль ведення журналу python можна використовувати в програмі Django для налагодження, буде пояснено в цьому посібнику.

Різні частини реєстрації Django

Журналювання Django містить чотири типи конфігурацій, які пояснюються нижче.

1. Django Logger
Реєстратор записує події, коли додаток виконується, і журналювання викликається. Записи журналу зберігаються у файлі, класифікуючи їх за різними рівнями журналу. Кожен рівень журналу вказує на важкість подій. Цілі цих рівнів журналу зазначені нижче:

  1. НАЛАГОДЖУВАТИ
    Він надає низькорівневу системну інформацію для налагодження.
  1. ІНФОРМАЦІЯ
    Він надає загальну інформацію.
  1. ПОМИЛКА
    Він надає інформацію про основну проблему програми.
  1. УВАГА
    Він надає інформацію про незначну проблему програми.
  1. КРИТИЧНИЙ
    Він надає інформацію про критичну проблему програми.

2. Обробник Django
Основним завданням обробника є передача інформації журналу, яка зберігається у файлі журналу. Модуль реєстрації містить багато типів обробників, і декілька з них можна визначити для одного і того ж реєстратора.

3. Django Formatter
Він використовується для форматування даних журналу. Дані обробника не можна надсилати безпосередньо до файлу журналу, і дані обробника вимагають їх перетворення за допомогою форматування перед надсиланням. Форматор перетворює записи журналу у рядок. Формат даних залежить від бізнес-логіки обробника.

4. Фільтр Django
Він використовується для фільтрації повідомлень журналу. Не потрібно зберігати всі журнальні повідомлення у файлі журналу. Для різних повідомлень можна використовувати різні обробники, а необхідні повідомлення журналу можна відфільтрувати за допомогою необхідних фільтрів.

Передумови

Перш ніж відпрацьовувати сценарій цього підручника, ви повинні виконати наступні завдання:

  1. Встановіть Django версії 3+ на Ubuntu 20+ (бажано)
  2. Створіть проект Django
  3. Запустіть сервер Django, щоб переконатися, що він працює належним чином чи ні.

Налаштуйте програму Django

  1. Виконайте наступну команду, щоб створити програму Django з іменем logapp.
$ python3 керувати.py startapp logapp
  1. Виконайте наступну команду, щоб створити користувача для доступу до бази даних Django. Якщо ви створили користувача раніше, тоді не потрібно запускати команду.
$ python3 керувати.py створюєкористувача
  1. Додайте назву програми в INSTALLED_APP частина py файл.
INSTALLED_APPS = [
..
'logapp'
]

В налаштуваннях встановіть інформацію про реєстрацію.py

Відкрийте налаштування.py файл із папки проекту Django та додайте наступний вміст, щоб визначити інформацію про реєстрацію. Властивості обробники і лісоруби встановлені тут. Відповідно до значень властивостей реєстрації, НАЛАГОДЖУВАТИ Інформація про реєстрацію на рівні зберігатиметься у файлі журналу з іменем djangoapp.журнал коли буде запущена програма Django.

# Інформація про реєстрацію Django
ВХІД =
# Визначте версію реєстрації
'версія': 1,
# Увімкніть існуючі реєстратори
'disable_existing_loggers': Невірно,
# Визначте обробники
'обробники':
'файл':
'level': 'DEBUG',
'class': 'реєстрація.FileHandler ',
'filename': 'djangoapp.журнал,
,
'console':
'class': 'реєстрація.StreamHandler ',
,
,
# Визначте реєстратори
'реєстратори':
'django':
'обробники': ['файл'],
'level': 'DEBUG',
'propagate': Правда,
,
,

Відкрийте djangoapp.журнал файл для перевірки записів журналу зберігаються у файлі чи ні.

Встановіть інформацію про журнал у поданнях.py

Інформацію про реєстрацію можна також визначити за допомогою файлу представлення. Відкрийте погляди.py файл із logapp папку та замініть вміст наступним сценарієм. У цьому сценарії, форматори, обробники, і лісоруби частини журналювання Django визначені в конфігурація.dictConfig () метод. НАЛАГОДЖУВАТИ Інформація про реєстрацію рівня буде зберігатися у файлі журналу з іменем djangoapp.журнал і буде надруковано в консолі під час запуску програми Django. індекс () Ця функція використовується для надсилання простого тексту заголовка до браузера та display_log () Функція визначена для надсилання простого тексту в терміналі та тексту заголовка до браузера.

погляди.py

# Імпортуйте модуль реєстрації
імпорт журналювання
# Імпортуйте HttpResponse, щоб надіслати дані в браузер
від django.http імпорт HttpResponse
# Визначте конфігурації реєстрації
лісозаготівля.конфігурація.dictConfig (
# Визначте версію реєстрації
'версія': 1,
# Увімкніть існуючі реєстратори
'disable_existing_loggers': Невірно,
# Визначте форматування
'форматування':
'console':
'format': '% (повідомлення) s'
,
'файл':
'format': '% (повідомлення) s'
,
# Визначте обробники
'обробники':
'console':
'class': 'реєстрація.StreamHandler ',
'formatter': 'консоль'
,
'файл':
'level': 'DEBUG',
'class': 'реєстрація.FileHandler ',
'formatter': 'файл',
'filename': 'djangoapp.журнал

,
# Визначте реєстратори
'реєстратори':
'django':
'level': 'DEBUG',
'обробники': ['файл', 'консоль'],



)
# Створіть об'єкт реєстраторів
реєстратор = реєстрація.getLogger ('__ name__')
# Визначте функцію для сторінки індексу
індекс def (запит):
повернути HttpResponse ("

Це програма Django

")
# Визначте функцію для сторінки журналу
def display_log (запит):
# Надішліть тест!! повідомлення журналу до стандартного виходу
лісоруб.помилка ("Тестування журналу Django ...")
повернути HttpResponse ("

Повідомлення журналу Django

")

Змінити вміст URL-адреси.py файл із таким сценарієм. У сценарії порожній шлях (”) визначений для виклику індекс () функція поглядів і 'журнал /'шлях використовується для виклику display_log () функція поглядів.

URL-адреси.py

від django.шлях імпорту URL-адрес
з переглядів імпорту logapp
urlpatterns = [
шлях (", перегляди.індекс),
path ('журнал /', перегляди.display_log)
]

Запустіть наступну URL-адресу, щоб відобразити сторінку індексу.

http: // localhost: 8000

Запустіть наступну URL-адресу, щоб викликати метод display_log (), який відображатиме текстове повідомлення в браузері та текстове повідомлення в терміналі. Записи журналу будуть додані до djangoapp.журнал файл.

Висновок

У цьому посібнику показано два способи використання журналу python у програмі Django для збереження інформації про реєстрацію на рівні DEBUG. Очікується, що основну концепцію щодо ведення журналу Django читачі зрозуміють після прочитання цього посібника.

Встановіть останню стратегічну гру OpenRA на Ubuntu Linux
OpenRA - це ігровий движок Libre / Free Real Time Strategy, який відтворює ранні ігри Вествуда, такі як класичний Command & Conquer: Red Alert. Пошире...
Встановіть найновіший емулятор Dolphin для Gamecube & Wii на Linux
Емулятор Dolphin дозволяє грати у вибрані вами ігри Gamecube та Wii на персональних комп’ютерах Linux (ПК). Будучи вільно доступним і відкритим ігров...
Як використовувати GameConqueror Cheat Engine в Linux
Стаття висвітлює посібник із використання механізму читів GameConqueror в Linux. Багато користувачів, які грають у ігри в Windows, часто використовуют...