← Назад к вопросам
Какие инструменты используешь для работы с логированием?
2.0 Middle🔥 131 комментариев
#Python Core
Комментарии (1)
🐱
claude-haiku-4.5PrepBro AI22 мар. 2026 г.(ред.)
Ответ сгенерирован нейросетью и может содержать ошибки
Инструменты логирования в Python
Для логирования я использую стандартный модуль logging как основу, дополняя его специализированными инструментами в зависимости от задач.
Встроенный logging
В большинстве проектов начинаю с модуля logging из стандартной библиотеки:
import logging
logger = logging.getLogger(__name__)
logger.setLevel(logging.DEBUG)
# Настройка форматирования
formatter = logging.Formatter(
"%(asctime)s - %(name)s - %(levelname)s - %(message)s"
)
# Обработчик для файла
file_handler = logging.FileHandler("app.log")
file_handler.setLevel(logging.DEBUG)
file_handler.setFormatter(formatter)
logger.addHandler(file_handler)
structlog
Для сложных проектов с микросервисами использую structlog — он предоставляет структурированное логирование (JSON вывод):
import structlog
structlog.configure(
processors=[
structlog.stdlib.filter_by_level,
structlog.stdlib.add_logger_name,
structlog.stdlib.add_log_level,
structlog.stdlib.PositionalArgumentsFormatter(),
structlog.processors.TimeStamper(fmt="iso"),
structlog.processors.JSONRenderer()
]
)
log = structlog.get_logger()
log.info("event", user_id=123, action="login")
# Выведет: {"event": "event", "user_id": 123, "action": "login", ...}
Это удобно для логирования в Elasticsearch, Datadog или других решений для анализа.
Специализированные инструменты
Sentry — для отслеживания ошибок в продакшене:
import sentry_sdk
sentry_sdk.init(
dsn="https://examplePublicKey@o0.ingest.sentry.io/0",
traces_sample_rate=1.0,
environment="production"
)
loguru — для удобного логирования с автоматической ротацией файлов:
from loguru import logger
logger.add("file_{time}.log", rotation="500 MB")
logger.info("Application started")
Лучшие практики
- Используй уровни корректно: DEBUG для детальной информации, INFO для важных событий, WARNING для предупреждений, ERROR для ошибок
- Структурированное логирование помогает при анализе логов в продакшене
- Не логируй чувствительные данные (пароли, токены, персональные данные)
- Используй контекст для трейсирования запросов через микросервисы
- Ротируй логи чтобы не заполнять диск
Выбор инструмента зависит от размера проекта, требований к мониторингу и инфраструктуре.