Різні частини реєстрації Django
Журналювання Django містить чотири типи конфігурацій, які пояснюються нижче.
1. Django Logger
Реєстратор записує події, коли додаток виконується, і журналювання викликається. Записи журналу зберігаються у файлі, класифікуючи їх за різними рівнями журналу. Кожен рівень журналу вказує на важкість подій. Цілі цих рівнів журналу зазначені нижче:
- НАЛАГОДЖУВАТИ
Він надає низькорівневу системну інформацію для налагодження.
- ІНФОРМАЦІЯ
Він надає загальну інформацію.
- ПОМИЛКА
Він надає інформацію про основну проблему програми.
- УВАГА
Він надає інформацію про незначну проблему програми.
- КРИТИЧНИЙ
Він надає інформацію про критичну проблему програми.
2. Обробник Django
Основним завданням обробника є передача інформації журналу, яка зберігається у файлі журналу. Модуль реєстрації містить багато типів обробників, і декілька з них можна визначити для одного і того ж реєстратора.
3. Django Formatter
Він використовується для форматування даних журналу. Дані обробника не можна надсилати безпосередньо до файлу журналу, і дані обробника вимагають їх перетворення за допомогою форматування перед надсиланням. Форматор перетворює записи журналу у рядок. Формат даних залежить від бізнес-логіки обробника.
4. Фільтр Django
Він використовується для фільтрації повідомлень журналу. Не потрібно зберігати всі журнальні повідомлення у файлі журналу. Для різних повідомлень можна використовувати різні обробники, а необхідні повідомлення журналу можна відфільтрувати за допомогою необхідних фільтрів.
Передумови
Перш ніж відпрацьовувати сценарій цього підручника, ви повинні виконати наступні завдання:
- Встановіть Django версії 3+ на Ubuntu 20+ (бажано)
- Створіть проект Django
- Запустіть сервер Django, щоб переконатися, що він працює належним чином чи ні.
Налаштуйте програму Django
- Виконайте наступну команду, щоб створити програму Django з іменем logapp.
- Виконайте наступну команду, щоб створити користувача для доступу до бази даних Django. Якщо ви створили користувача раніше, тоді не потрібно запускати команду.
- Додайте назву програми в INSTALLED_APP частина py файл.
..
'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 читачі зрозуміють після прочитання цього посібника.