import os import logging from datetime import datetime def setup_logger(name, log_dir='logs'): """ 设置日志记录器 参数: name: 日志记录器名称 log_dir: 日志文件存储目录 返回: logger: 配置好的日志记录器 """ # 创建logs目录 os.makedirs(log_dir, exist_ok=True) # 创建日志记录器 logger = logging.getLogger(name) logger.setLevel(logging.INFO) # 如果logger已经有处理器,则不添加 if logger.handlers: return logger # 创建格式化器 formatter = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s') # 创建文件处理器 current_time = datetime.now().strftime('%Y%m%d_%H%M%S') log_file = os.path.join(log_dir, f'{name}_{current_time}.log') file_handler = logging.FileHandler(log_file, encoding='utf-8') file_handler.setLevel(logging.INFO) file_handler.setFormatter(formatter) # 添加文件处理器到日志记录器 logger.addHandler(file_handler) # 记录初始信息 logger.info("="*50) logger.info(f"Logger initialized: {name}") logger.info(f"Log file: {log_file}") logger.info("="*50) return logger