Get single request log detail (payload loaded on demand)
(
log_id: int,
token: str = Depends(verify_admin_token)
)
| 1507 | |
| 1508 | @router.get("/api/logs/{log_id}") |
| 1509 | async def get_log_detail( |
| 1510 | log_id: int, |
| 1511 | token: str = Depends(verify_admin_token) |
| 1512 | ): |
| 1513 | """Get single request log detail (payload loaded on demand)""" |
| 1514 | log = await db.get_log_detail(log_id) |
| 1515 | if not log: |
| 1516 | raise HTTPException(status_code=404, detail="日志不存在") |
| 1517 | |
| 1518 | error_summary = _extract_error_summary(log.get("response_body")) |
| 1519 | |
| 1520 | return { |
| 1521 | "id": log.get("id"), |
| 1522 | "token_id": log.get("token_id"), |
| 1523 | "token_email": log.get("token_email"), |
| 1524 | "token_username": log.get("token_username"), |
| 1525 | "operation": log.get("operation"), |
| 1526 | "status_code": log.get("status_code"), |
| 1527 | "duration": log.get("duration"), |
| 1528 | "status_text": log.get("status_text") or "", |
| 1529 | "progress": log.get("progress") or 0, |
| 1530 | "created_at": log.get("created_at"), |
| 1531 | "updated_at": log.get("updated_at"), |
| 1532 | "error_summary": error_summary, |
| 1533 | "request_body": log.get("request_body"), |
| 1534 | "response_body": log.get("response_body") |
| 1535 | } |
| 1536 | |
| 1537 | |
| 1538 | @router.delete("/api/logs") |
nothing calls this directly
no test coverage detected