import logging import os import sys def setup_logging(name: str = "collector") -> logging.Logger: """ Sets up a structured logger. """ logger = logging.getLogger(name) level = os.getenv("LOG_LEVEL", "INFO").upper() logger.setLevel(level) if not logger.handlers: handler = logging.StreamHandler(sys.stdout) formatter = logging.Formatter( '%(asctime)s [%(levelname)s] %(name)s: %(message)s' ) handler.setFormatter(formatter) logger.addHandler(handler) return logger