FastAPI 获取异常堆栈跟踪

FastAPI get exception stacktrace

提问人:Jakub Zilinek 提问时间:5/9/2023 更新时间:5/9/2023 访问量:526

问:

我的 FastAPI 应用程序中的异常处理程序有问题。这是我当前的代码:

@app.exception_handler(Exception)
async def server_error(request: Request, error: Exception):
    logger.error(f"Internal server error: {error} \n{traceback.format_exc()}")
    return JSONResponse(
        status_code=status.HTTP_500_INTERNAL_SERVER_ERROR,
        content=jsonable_encoder({
            "message": "...",
            "exception": [str(error)],
            "endpoint": request.url
        })
    )

我想添加一条日志记录消息,该消息打印触发此函数的异常的堆栈跟踪。目前,输出不指向异常的堆栈跟踪。

我尝试了很多方法来解决这个问题,但最终得到的唯一结果是在 FastAPI 存储库中创建一个拉取请求。

如果我错过了什么,请告诉我。谢谢!

Python 异常 日志记录 fastapi stack-trace

评论

2赞 SimonUnderwood 5/9/2023
什么?要在哪里打印?服务器的终端,登录到服务器上的文件,还是以 JSON 形式返回?logger
0赞 Chris 5/9/2023
请看一下这个答案,以及这个答案和这个答案

答: 暂无答案