import logging import os from datetime import datetime from config import config class Logger: def __init__(self): os.makedirs(config.log_dir, exist_ok=True) log_file = os.path.join( config.log_dir, f"train_{datetime.now().strftime('%Y%m%d_%H%M%S')}.log" ) self.logger = logging.getLogger(__name__) self.logger.setLevel(config.log_level) # 文件输出 file_handler = logging.FileHandler(log_file) file_formatter = logging.Formatter( "%(asctime)s - %(levelname)s - %(message)s" ) file_handler.setFormatter(file_formatter) # 控制台输出 console_handler = logging.StreamHandler() console_formatter = logging.Formatter("%(message)s") console_handler.setFormatter(console_formatter) self.logger.addHandler(file_handler) self.logger.addHandler(console_handler) def log(self, level, message): getattr(self.logger, level)(message) logger = Logger()