import sys from datetime import date, datetime from loguru import logger from pathlib import Path from config import settings class Local: """ 恢复有效的本地日志记录器 """ @staticmethod def init_logger(platform: str, mode: str, log_level: str = settings.LOG_LEVEL, log_to_console: bool = False, rotation: str = "00:00", retention: str = "10 days"): """ 初始化日志记录器 - 有效版本 """ # 创建日志目录 log_path = Path(f"{settings.LOG_DIR}/{platform}") log_path.mkdir(parents=True, exist_ok=True) # 获取当前日期(动态) current_date = date.today().strftime("%Y-%m-%d") log_filename = f"{platform}-{mode}-{current_date}.log" log_file_path = log_path / log_filename # 清除默认 handler logger.remove() # 添加文件日志 handler logger.add( str(log_file_path), # 使用字符串路径 level=log_level.upper(), rotation=rotation, # 支持rotation参数 retention=retention, encoding="utf-8", enqueue=True ) # 可选:输出到控制台 if log_to_console: logger.add( sys.stdout, level=log_level.upper(), format="{time:YYYY-MM-DD HH:mm:ss} | {level} | {message}" ) return logger