"""Structured logging setup.""" from __future__ import annotations import logging import sys _FMT = "%(asctime)s | %(levelname)-7s | %(name)s | %(message)s" def setup_logging(level: str = "INFO") -> None: root = logging.getLogger() if root.handlers: return # already configured handler = logging.StreamHandler(sys.stdout) handler.setFormatter(logging.Formatter(_FMT)) root.addHandler(handler) root.setLevel(level) # Quiet down noisy libraries logging.getLogger("transformers").setLevel(logging.WARNING) logging.getLogger("urllib3").setLevel(logging.WARNING) def get_logger(name: str) -> logging.Logger: return logging.getLogger(name)