python-sdk/src/mcp/server/mcpserver/utilities/logging.py
2026-02-19 06:45:59 +01:00

39 lines
978 B
Python

"""Logging utilities for MCPServer."""
import logging
from typing import Literal
def get_logger(name: str) -> logging.Logger:
"""Get a logger nested under MCP namespace.
Args:
name: The name of the logger.
Returns:
A configured logger instance.
"""
return logging.getLogger(name)
def configure_logging(
level: Literal["DEBUG", "INFO", "WARNING", "ERROR", "CRITICAL"] = "INFO",
) -> None:
"""Configure logging for MCP.
Args:
level: The log level to use.
"""
handlers: list[logging.Handler] = []
try:
from rich.console import Console
from rich.logging import RichHandler
handlers.append(RichHandler(console=Console(stderr=True), rich_tracebacks=True))
except ImportError: # pragma: no cover
pass
if not handlers: # pragma: no cover
handlers.append(logging.StreamHandler())
logging.basicConfig(level=level, format="%(message)s", handlers=handlers)