Awaaz / app /utils /logging_utils.py
Ziggy
Awaaz: consumer voice coaching — session-scoped history, config-aware analyzer filters, softened narratives, Awaaz design identity
2a762ba
Raw
History Blame Contribute Delete
836 Bytes
"""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