"""Logging configuration for evaluation.""" import logging import sys from pathlib import Path def setup_logging(log_file: Path | None = None, level: int = logging.INFO) -> None: """Set up logging configuration. Args: log_file: Optional path to log file level: Logging level """ # Create formatters detailed_formatter = logging.Formatter( "%(asctime)s - %(name)s - %(levelname)s - %(message)s", datefmt="%Y-%m-%d %H:%M:%S" ) simple_formatter = logging.Formatter( "%(levelname)s: %(message)s" ) # Get root logger logger = logging.getLogger() logger.setLevel(level) # Remove existing handlers logger.handlers.clear() # Console handler console_handler = logging.StreamHandler(sys.stdout) console_handler.setLevel(level) console_handler.setFormatter(simple_formatter) logger.addHandler(console_handler) # File handler if log_file: log_file.parent.mkdir(parents=True, exist_ok=True) file_handler = logging.FileHandler(log_file, mode="w") file_handler.setLevel(logging.DEBUG) file_handler.setFormatter(detailed_formatter) logger.addHandler(file_handler)