mirror of
https://github.com/BEDOLAGA-DEV/remnawave-bedolaga-telegram-bot.git
synced 2026-02-22 12:21:26 +00:00
- 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
55 lines
1.8 KiB
Python
55 lines
1.8 KiB
Python
"""Специальный логгер для платежей.
|
||
|
||
Выделенный логгер для всех платежных операций.
|
||
Записи идут в отдельный файл 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
|