"""
Logging utilities for Braze MCP Write Server.
"""
import logging
import sys
from typing import Any
def get_logger(name: str) -> logging.Logger:
"""
Get a logger instance with consistent formatting.
Args:
name: Name of the logger (typically __name__ from the calling module)
Returns:
Configured logger instance
"""
logger = logging.getLogger(name)
if not logger.handlers:
handler = logging.StreamHandler(sys.stderr)
formatter = logging.Formatter(
'%(asctime)s - %(name)s - %(levelname)s - %(message)s',
datefmt='%Y-%m-%d %H:%M:%S'
)
handler.setFormatter(formatter)
logger.addHandler(handler)
logger.setLevel(logging.INFO)
return logger
def configure_logging(level: str = "INFO") -> None:
"""
Configure global logging settings.
Args:
level: Logging level (DEBUG, INFO, WARNING, ERROR, CRITICAL)
"""
logging.basicConfig(
level=getattr(logging, level.upper()),
format='%(asctime)s - %(name)s - %(levelname)s - %(message)s',
datefmt='%Y-%m-%d %H:%M:%S',
stream=sys.stderr
)