import logging import sys from typing import Optional def get_logger(name: str, level: str = "INFO") -> logging.Logger: logger = logging.getLogger(name) if not logger.handlers: handler = logging.StreamHandler(sys.stdout) formatter = logging.Formatter( "%(asctime)s - %(name)s - %(levelname)s - %(message)s" ) handler.setFormatter(formatter) logger.addHandler(handler) logger.setLevel(getattr(logging, level.upper())) return logger