1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950 |
- 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="<green>{time:YYYY-MM-DD HH:mm:ss}</green> | <level>{level}</level> | {message}"
- )
- return logger
|