""" Logger Configuration Centralized logging setup for MOXIE. """ import sys from pathlib import Path from loguru import logger def setup_logger(log_file: str = None, debug: bool = False): """ Configure the logger for MOXIE. Args: log_file: Optional path to log file debug: Enable debug level logging """ # Remove default handler logger.remove() # Console handler logger.add( sys.stderr, format="{time:YYYY-MM-DD HH:mm:ss} | {level: <8} | {name}:{function}:{line} - {message}", level="DEBUG" if debug else "INFO", colorize=True ) # File handler (if specified) if log_file: log_path = Path(log_file) log_path.parent.mkdir(parents=True, exist_ok=True) logger.add( str(log_path), format="{time:YYYY-MM-DD HH:mm:ss} | {level: <8} | {name}:{function}:{line} - {message}", level="DEBUG", rotation="10 MB", retention="7 days", compression="gz" ) return logger