from __future__ import annotations import logging from pathlib import Path def configure_run_logger(log_path: Path) -> logging.Logger: log_path.parent.mkdir(parents=True, exist_ok=True) logger = logging.getLogger(f"elbench.{log_path.stem}") logger.setLevel(logging.INFO) logger.handlers.clear() formatter = logging.Formatter( "%(asctime)s | %(levelname)s | %(message)s", datefmt="%Y-%m-%d %H:%M:%S", ) file_handler = logging.FileHandler(log_path, encoding="utf-8") file_handler.setFormatter(formatter) logger.addHandler(file_handler) stream_handler = logging.StreamHandler() stream_handler.setFormatter(formatter) logger.addHandler(stream_handler) return logger