logging
Модуль logging
в Python забезпечує гнучкий спосіб створення логів в програмах. Ось найпростіший приклад використання модуля logging
:
import logging
# Налаштування базового конфігураційного рівня та формату
logging.basicConfig(level=logging.INFO, format='%(asctime)s - %(levelname)s - %(message)s')
# Створення повідомлення логів
logging.debug('Це повідомлення для відладки')
logging.info('Це інформаційне повідомлення')
logging.warning('Це попередження')
logging.error('Це помилка')
logging.critical('Це критичне повідомлення')
У цьому прикладі:
logging.basicConfig()
використовується для налаштування базових параметрів логування, таких як рівень важливості повідомлень та формат виводу.level=logging.INFO
означає, що будуть відображатись повідомлення рівня INFO та вище (INFO, WARNING, ERROR, CRITICAL).format='%(asctime)s - %(levelname)s - %(message)s'
задає формат виводу повідомлень, включаючи час, рівень важливості та саме повідомлення.
Коли ви запустите цей код, ви побачите на екрані всі повідомлення, починаючи з рівня INFO:
2024-05-28 10:00:00,000 - INFO - Це інформаційне повідомлення
2024-05-28 10:00:00,001 - WARNING - Це попередження
2024-05-28 10:00:00,002 - ERROR - Це помилка
2024-05-28 10:00:00,003 - CRITICAL - Це критичне повідомлення
Повідомлення з рівнем DEBUG не буде відображене, оскільки поточний рівень логування встановлено на INFO.
Лог у файл
Щоб записувати логи в файл, потрібно налаштувати logging.basicConfig()
для вказівки файлу, куди будуть зберігатись логи. Ось приклад:
import logging
# Налаштування базового конфігураційного рівня, формату та файлу для логів
logging.basicConfig(
level=logging.INFO,
format='%(asctime)s - %(levelname)s - %(message)s',
filename='app.log', # Ім'я файлу для збереження логів
filemode='w' # Режим запису: 'w' для перезапису файлу, 'a' для додавання до існуючого файлу
)
# Створення повідомлення логів
logging.debug('Це повідомлення для відладки')
logging.info('Це інформаційне повідомлення')
logging.warning('Це попередження')
logging.error('Це помилка')
logging.critical('Це критичне повідомлення')
У цьому прикладі:
filename='app.log'
визначає ім'я файлу, куди будуть записані логи.filemode='w'
означає, що файл буде перезаписано щоразу при запуску програми. Якщо ви хочете додавати логи до існуючого файлу, використовуйтеfilemode='a'
.
Коли ви запустите цей код, вказані повідомлення будуть записані в файл app.log
:
2024-05-28 10:00:00,000 - INFO - Це інформаційне повідомлення
2024-05-28 10:00:00,001 - WARNING - Це попередження
2024-05-28 10:00:00,002 - ERROR - Це помилка
2024-05-28 10:00:00,003 - CRITICAL - Це критичне повідомлення
Як і раніше, повідомлення з рівнем DEBUG не буде записане, оскільки поточний рівень логування встановлено на INFO.
Логирование в Python: руководство разработчика - https://habr.com/ru/companies/wunderfund/articles/683880/
Last updated