# HG changeset patch # User RhodeCode Admin # Date 2022-10-26 09:13:39 # Node ID 201c056333d8e93f5885922605c4ee946ecb1524 # Parent 4c813ee90fe5713fe74cd2fab4bf5e17db46d486 exceptions: store exception about failed exc email sending diff --git a/rhodecode/lib/exc_tracking.py b/rhodecode/lib/exc_tracking.py --- a/rhodecode/lib/exc_tracking.py +++ b/rhodecode/lib/exc_tracking.py @@ -20,6 +20,7 @@ import os import time +import sys import datetime import msgpack import logging @@ -115,7 +116,8 @@ def _store_exception(exc_id, exc_type_na send_exc_email(request, exc_id, exc_type_name) except Exception: log.exception('Failed to send exception email') - pass + exc_info = sys.exc_info() + store_exception(id(exc_info), exc_info, send_email=False) def send_exc_email(request, exc_id, exc_type_name): @@ -160,7 +162,7 @@ def _prepare_exception(exc_info): return exc_type_name, tb -def store_exception(exc_id, exc_info, prefix=global_prefix): +def store_exception(exc_id, exc_info, prefix=global_prefix, send_email=None): """ Example usage:: @@ -171,7 +173,7 @@ def store_exception(exc_id, exc_info, pr try: exc_type_name, exc_traceback = _prepare_exception(exc_info) _store_exception(exc_id=exc_id, exc_type_name=exc_type_name, - exc_traceback=exc_traceback, prefix=prefix) + exc_traceback=exc_traceback, prefix=prefix, send_email=send_email) return exc_id, exc_type_name except Exception: log.exception('Failed to store exception `%s` information', exc_id)