"""Structured logging configuration.""" import logging import sys from typing import Optional from app.config import get_settings def setup_logging(name: Optional[str] = None, level: Optional[str] = None) -> logging.Logger: """Configure and return a logger with consistent formatting.""" settings = get_settings() log_level = level or settings.log_level logger_name = name or "pinnacle" logger = logging.getLogger(logger_name) logger.setLevel(getattr(logging, log_level.upper())) # Avoid duplicate handlers if not logger.handlers: handler = logging.StreamHandler(sys.stdout) handler.setLevel(getattr(logging, log_level.upper())) formatter = logging.Formatter(settings.log_format) handler.setFormatter(formatter) logger.addHandler(handler) return logger