Source code for utils.config_logger

import os
import logging
from datetime import datetime

[docs] def setup_logger(log_dir: str, enable_logger: bool): if not enable_logger: return None os.makedirs(log_dir, exist_ok=True) # Format: train_YYYYMMDD_HHMMSS.log timestamp = datetime.now().strftime("%Y%m%d_%H%M%S") log_filename = f"train_{timestamp}.log" log_path = os.path.join(log_dir, log_filename) logger = logging.getLogger("train_logger") logger.setLevel(logging.INFO) # Clear previous handlers (e.g., in Jupyter) if logger.hasHandlers(): logger.handlers.clear() # File handler file_handler = logging.FileHandler(log_path, mode="w") file_handler.setLevel(logging.INFO) file_handler.setFormatter(logging.Formatter( "%(asctime)s - %(levelname)s - %(message)s", datefmt="%Y-%m-%d %H:%M:%S" )) logger.addHandler(file_handler) # Console handler console_handler = logging.StreamHandler() console_handler.setLevel(logging.WARNING) console_handler.setFormatter(logging.Formatter("[%(levelname)s] %(message)s")) logger.addHandler(console_handler) return logger