From e420d88ed1269b291aeaf38ab4e7bbc92e11150b Mon Sep 17 00:00:00 2001 From: phernandez Date: Wed, 22 Jan 2025 14:32:41 -0600 Subject: [PATCH] add catch all exception handler to fastapi --- src/basic_memory/api/app.py | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/src/basic_memory/api/app.py b/src/basic_memory/api/app.py index 01cbe2e0..841031fc 100644 --- a/src/basic_memory/api/app.py +++ b/src/basic_memory/api/app.py @@ -2,7 +2,8 @@ from contextlib import asynccontextmanager -from fastapi import FastAPI +from fastapi import FastAPI, HTTPException +from fastapi.exception_handlers import http_exception_handler from loguru import logger from basic_memory import db @@ -31,4 +32,12 @@ app.include_router(knowledge.router) app.include_router(discovery.router) app.include_router(search.router) app.include_router(memory.router) -app.include_router(resource.router) \ No newline at end of file +app.include_router(resource.router) + + +@app.exception_handler(Exception) +async def exception_handler(request, exc): + logger.exception( + f"An unhandled exception occurred for request '{request.url}', exception: {exc}" + ) + return await http_exception_handler(request, HTTPException(status_code=500, detail=exc.args[0]))