""" 日志工具 """ import sys from pathlib import Path from loguru import logger from app.config import settings def setup_logger(): """配置日志格式和输出""" # 移除默认 handler logger.remove() # 控制台输出 logger.add( sys.stderr, level=settings.LOG_LEVEL, format=( "{time:YYYY-MM-DD HH:mm:ss.SSS} | " "{level: <8} | " "{name}:{function}:{line} | " "{message}" ), colorize=True, ) # 文件输出(可选) if settings.LOG_TO_FILE: log_file = Path(settings.LOG_FILE) log_file.parent.mkdir(parents=True, exist_ok=True) logger.add( str(log_file), level="DEBUG", format=( "{time:YYYY-MM-DD HH:mm:ss.SSS} | " "{level: <8} | " "{name}:{function}:{line} | " "{message}" ), rotation="50 MB", retention="7 days", encoding="utf-8", ) logger.info("日志系统初始化完成")