Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/logging/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Logging 如何在FastApi中获取响应异常_Logging_Response_Fastapi - Fatal编程技术网

Logging 如何在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

我是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:
        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响应的响应