Ответ
Стандартная библиотека logging
в Python — это мощный и гибкий инструмент для управления логами приложения. Она позволяет настраивать уровни логирования, форматы сообщений, обработчики (handlers) и фильтры.
Почему это важно: Правильное логирование критически важно для отладки, мониторинга и анализа поведения приложения в различных средах, помогая быстро выявлять и устранять проблемы.
Базовая настройка:
Для быстрой настройки можно использовать logging.basicConfig()
, который конфигурирует корневой логгер.
import logging
# Базовая настройка логирования
logging.basicConfig(
level=logging.INFO, # Уровень логирования (DEBUG, INFO, WARNING, ERROR, CRITICAL)
format='%(asctime)s - %(name)s - %(levelname)s - %(message)s', # Формат сообщения
handlers=[
logging.FileHandler('app.log', encoding='utf-8'), # Запись в файл
logging.StreamHandler() # Вывод в консоль
]
)
logger = logging.getLogger(__name__) # Получение логгера для текущего модуля
logger.info("Это информационное сообщение.")
logger.warning("Это предупреждение.")
Расширенные возможности:
- Множественные логгеры: Создание отдельных логгеров для разных модулей или компонентов с индивидуальными настройками.
- Ротация логов: Использование
RotatingFileHandler
илиTimedRotatingFileHandler
для автоматической ротации лог-файлов по размеру или времени. - Фильтры: Добавление кастомных фильтров для выборочной обработки лог-записей.
- Кастомные обработчики: Интеграция с внешними системами мониторинга (например, Sentry, ELK Stack) через специализированные обработчики.
Рекомендации:
Всегда выбирайте адекватные уровни логирования. Избегайте избыточного логирования DEBUG
уровня в продакшене, чтобы не перегружать систему и не раскрывать конфиденциальные данные.