add logs in session middleware
This commit is contained in:
+18
-1
@@ -15,7 +15,24 @@ class SessionMiddleware(BaseMiddleware):
|
||||
data["session"] = session
|
||||
try:
|
||||
result = await handler(event, data)
|
||||
await session.commit()
|
||||
try:
|
||||
await session.commit()
|
||||
except Exception as commit_err:
|
||||
handler_name = getattr(handler, "__qualname__", getattr(handler, "__name__", str(handler)))
|
||||
event_type = type(event).__name__
|
||||
logger.warning(
|
||||
"Session commit failed, rollback performed — handler=%s, event=%s, error=%s: %s",
|
||||
handler_name,
|
||||
event_type,
|
||||
type(commit_err).__name__,
|
||||
commit_err,
|
||||
exc_info=True,
|
||||
)
|
||||
try:
|
||||
await session.rollback()
|
||||
except Exception:
|
||||
pass
|
||||
raise commit_err
|
||||
return result
|
||||
except Exception as e:
|
||||
handler_name = getattr(handler, "__qualname__", getattr(handler, "__name__", str(handler)))
|
||||
|
||||
Reference in New Issue
Block a user