Logging 如何在FastApi中获取响应异常
我是FastAPI新手,我有一个应用程序,我想记录请求。我有下一个代码:Logging 如何在FastApi中获取响应异常,logging,response,fastapi,Logging,Response,Fastapi,我是FastAPI新手,我有一个应用程序,我想记录请求。我有下一个代码: from typing import Callable from fastapi import APIRouter, FastAPI, Request, Response from fastapi.routing import APIRoute class TimedRoute(APIRoute): def get_route_handler(self) -> Callable: orig
from typing import Callable
from fastapi import APIRouter, FastAPI, Request, Response
from fastapi.routing import APIRoute
class TimedRoute(APIRoute):
def get_route_handler(self) -> Callable:
original_route_handler = super().get_route_handler()
async def custom_route_handler(request: Request) -> Response:
response: Response = await original_route_handler(request)
print(f"url: {request.url}")
print(f"method: {request.method}")
print(f"response: {response.body}")
print(f"status_code: {response.status_code}")
return response
return custom_route_handler
app = FastAPI()
router = APIRouter(route_class=TimedRoute)
items = {"foo": "The Foo Wrestlers"}
@app.get("/items/{item_id}")
async def read_item(item_id: str):
if item_id not in items:
raise HTTPException(status_code=404, detail="Item not found")
return {"item": items[item_id]}
我可以记录请求以获得成功响应,但如果我的响应是404,则日志不起作用。如何访问HTTPException响应的响应