Files
remnawave-bedolaga-telegram…/app/utils/payment_logger.py
c0mrade 9a2aea038a chore: add uv package manager and ruff linter configuration
- Add pyproject.toml with uv and ruff configuration
- Pin Python version to 3.13 via .python-version
- Add Makefile commands: lint, format, fix
- Apply ruff formatting to entire codebase
- Remove unused imports (base64 in yookassa/simple_subscription)
- Update .gitignore for new config files
2026-01-24 17:45:27 +03:00

55 lines
1.8 KiB
Python
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

"""Специальный логгер для платежей.
Выделенный логгер для всех платежных операций.
Записи идут в отдельный файл payments.log.
Использование:
from app.utils.payment_logger import payment_logger
payment_logger.info("Создан YooKassa платеж %s на %s", payment_id, amount)
payment_logger.error("Ошибка обработки webhook: %s", error)
"""
from __future__ import annotations
import logging
# Выделенный логгер для всех платежных операций
payment_logger = logging.getLogger('app.payments')
def configure_payment_logger(
handler: logging.Handler,
formatter: logging.Formatter | None = None,
level: int = logging.INFO,
) -> None:
"""Настроить payment_logger с указанным хэндлером.
Args:
handler: Хэндлер для записи логов (FileHandler, StreamHandler и т.д.)
formatter: Форматтер для логов (опционально)
level: Уровень логирования (по умолчанию INFO)
"""
payment_logger.setLevel(level)
if formatter:
handler.setFormatter(formatter)
payment_logger.addHandler(handler)
# Предотвращаем дублирование в родительских логгерах
payment_logger.propagate = False
def get_payment_logger() -> logging.Logger:
"""Получить экземпляр payment_logger.
Альтернативный способ получения логгера для модулей,
которые предпочитают явный вызов функции.
Returns:
Настроенный логгер платежей
"""
return payment_logger