Skip to main content
Glama
logger.py2.67 kB
""" Модуль логирования. Содержит настройки и функции для логирования. """ import logging import sys from collections.abc import MutableMapping from typing import ( Any, # Для совместимости с LoggerAdapter Optional, ) from app.core.config import settings # Формат логов log_format = settings.LOG_FORMAT # Настройка корневого логгера logging.basicConfig( level=settings.LOG_LEVEL, format=log_format, handlers=[logging.StreamHandler(sys.stdout)], ) def get_logger(name: str) -> logging.Logger: """ Получение настроенного логгера. Args: name: Имя логгера (обычно __name__ модуля) Returns: Настроенный логгер """ return logging.getLogger(name) class LoggerAdapter(logging.LoggerAdapter): """ Адаптер логгера для добавления контекстной информации. Позволяет добавлять дополнительные поля к каждому сообщению лога. """ def __init__( self, logger: logging.Logger, extra: Optional[dict[str, Any]] = None, ): """ Инициализация адаптера. Args: logger: Базовый логгер extra: Дополнительные поля для логов """ super().__init__(logger, extra or {}) def process( self, msg: str, kwargs: MutableMapping[str, Any], ) -> tuple[str, MutableMapping[str, Any]]: """ Обработка сообщения перед логированием. Args: msg: Сообщение для лога kwargs: Дополнительные аргументы Returns: Кортеж из обработанного сообщения и аргументов """ # Добавление контекстной информации к сообщению extra = kwargs.get("extra", {}) extra.update(self.extra) kwargs["extra"] = extra return msg, kwargs # Создание корневого логгера приложения logger = get_logger("app") # Пример использования: # from app.utils.logger import logger # logger.info("Сообщение") # # С контекстом: # context_logger = LoggerAdapter(logger, {"request_id": "123"}) # context_logger.info("Сообщение с контекстом")

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/eagurin/myaiserv'

If you have feedback or need assistance with the MCP directory API, please join our Discord server