11import logging
22from typing import Self
3-
3+ import traceback
44from fastapi import APIRouter , HTTPException , Request , status
55from fastapi .datastructures import URL
66from fastapi .responses import Response
2323from stapi_fastapi .responses import GeoJSONResponse
2424from stapi_fastapi .routers .product_router import ProductRouter
2525
26+ logger = logging .getLogger (__name__ )
27+
2628
2729class RootRouter (APIRouter ):
2830 def __init__ (
@@ -176,7 +178,10 @@ async def get_orders(self, request: Request) -> OrderCollection:
176178 )
177179 return orders
178180 case Failure (e ):
179- logging .exception ("An error occurred while retrieving orders" , e )
181+ logger .exception (
182+ "An error occurred while retrieving orders: %s" ,
183+ traceback .format_exception (e ),
184+ )
180185 raise HTTPException (
181186 status_code = status .HTTP_500_INTERNAL_SERVER_ERROR ,
182187 detail = "Error finding Orders" ,
@@ -195,8 +200,9 @@ async def get_order(self: Self, order_id: str, request: Request) -> Order:
195200 case Success (Maybe .empty ):
196201 raise NotFoundException ("Order not found" )
197202 case Failure (e ):
198- logging .exception (
199- f"An error occurred while retrieving order '{ order_id } '" , e
203+ logger .exception (
204+ "An error occurred while retrieving order '%s': %s" , order_id ,
205+ traceback .format_exception (e ),
200206 )
201207 raise HTTPException (
202208 status_code = status .HTTP_500_INTERNAL_SERVER_ERROR ,
@@ -226,8 +232,9 @@ async def get_order_statuses(
226232 ],
227233 )
228234 case Failure (e ):
229- logging .exception (
230- "An error occurred while retrieving order statuses" , e
235+ logger .exception (
236+ "An error occurred while retrieving order statuses: %s" ,
237+ traceback .format_exception (e ),
231238 )
232239 raise HTTPException (
233240 status_code = status .HTTP_500_INTERNAL_SERVER_ERROR ,
@@ -243,7 +250,10 @@ async def set_order_status(
243250 case Success (_):
244251 return Response (status_code = status .HTTP_202_ACCEPTED )
245252 case Failure (e ):
246- logging .exception ("An error occurred while setting order status" , e )
253+ logger .exception (
254+ "An error occurred while setting order status: %s" ,
255+ traceback .format_exception (e ),
256+ )
247257 raise HTTPException (
248258 status_code = status .HTTP_500_INTERNAL_SERVER_ERROR ,
249259 detail = "Error setting Order Status" ,
0 commit comments