from typing import Dict, Any from app.models.database import SessionLocal from app.models.request_log import RequestLogDB import json from threading import Thread def save_request_log(log_data: Dict[str, Any]): """保存请求日志到数据库""" db = SessionLocal() try: log = RequestLogDB(**log_data) db.add(log) db.commit() except Exception as e: db.rollback() print(f"保存日志失败: {str(e)}") finally: db.close() def log_request_async(log_data: Dict[str, Any]): """在新线程中异步处理日志""" Thread(target=save_request_log, args=(log_data,), daemon=True).start()