From 0692496fd37e3201f2803b1ac6c3c9ab370d7b65 Mon Sep 17 00:00:00 2001 From: Ankush Menat Date: Wed, 10 Apr 2024 13:34:32 +0530 Subject: [PATCH] fix: log unhandled exceptions in monitor log (#25897) --- frappe/utils/background_jobs.py | 3 ++- frappe/utils/error.py | 2 ++ 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/frappe/utils/background_jobs.py b/frappe/utils/background_jobs.py index 2d373f10f7..eb505c9652 100644 --- a/frappe/utils/background_jobs.py +++ b/frappe/utils/background_jobs.py @@ -255,9 +255,10 @@ def execute_job(site, method, event, job_name, kwargs, user=None, is_async=True, frappe.log_error(title=method_name) raise - except Exception: + except Exception as e: frappe.db.rollback() frappe.log_error(title=method_name) + frappe.monitor.add_data_to_monitor(exception=e.__class__.__name__) frappe.db.commit() print(frappe.get_traceback()) raise diff --git a/frappe/utils/error.py b/frappe/utils/error.py index d1f326cb88..0aaaa02e2b 100644 --- a/frappe/utils/error.py +++ b/frappe/utils/error.py @@ -8,6 +8,7 @@ from collections import Counter from contextlib import suppress import frappe +from frappe.monitor import add_data_to_monitor EXCLUDE_EXCEPTIONS = ( frappe.AuthenticationError, @@ -85,6 +86,7 @@ def log_error_snapshot(exception: Exception): try: log_error(title=str(exception), defer_insert=True) logger.error("New Exception collected in error log") + add_data_to_monitor(exception=exception.__class__.__name__) except Exception as e: logger.error(f"Could not take error snapshot: {e}", exc_info=True)