fix(DX): store tracebacks with context (#24059)

This commit is contained in:
Ankush Menat 2024-01-01 12:46:47 +05:30 committed by GitHub
parent 78cd62fec0
commit 8a7707e3fa
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
5 changed files with 6 additions and 7 deletions

View file

@ -448,7 +448,7 @@ def install_app(context, apps, force=False):
print(f"App {app} is Incompatible with Site {site}{err_msg}")
exit_code = 1
except Exception as err:
err_msg = f": {str(err)}\n{frappe.get_traceback()}"
err_msg = f": {str(err)}\n{frappe.get_traceback(with_context=True)}"
print(f"An error occurred while installing {app}{err_msg}")
exit_code = 1
@ -899,7 +899,7 @@ def backup(
fg="red",
)
if verbose:
print(frappe.get_traceback())
print(frappe.get_traceback(with_context=True))
exit_code = 1
continue
if frappe.get_system_settings("encrypt_backup") and frappe.get_site_config().encryption_key:

View file

@ -113,7 +113,7 @@ def generate_report(prepared_report):
instance.status = "Completed"
except Exception:
instance.status = "Error"
instance.error_message = frappe.get_traceback()
instance.error_message = frappe.get_traceback(with_context=True)
instance.report_end_time = frappe.utils.now()
instance.save(ignore_permissions=True)

View file

@ -154,7 +154,7 @@ class ScheduledJobType(Document):
if frappe.debug_log:
self.scheduler_log.db_set("debug_log", "\n".join(frappe.debug_log))
if status == "Failed":
self.scheduler_log.db_set("details", frappe.get_traceback())
self.scheduler_log.db_set("details", frappe.get_traceback(with_context=True))
if status == "Start":
self.db_set("last_execution", now_datetime(), update_modified=False)
frappe.db.commit()

View file

@ -157,7 +157,7 @@ def get_setup_complete_hooks(args):
def handle_setup_exception(args):
frappe.db.rollback()
if args:
traceback = frappe.get_traceback()
traceback = frappe.get_traceback(with_context=True)
print(traceback)
for hook in frappe.get_hooks("setup_wizard_exception"):
frappe.get_attr(hook)(traceback, args)

View file

@ -505,8 +505,7 @@ def evaluate_alert(doc: Document, alert, event):
frappe.throw(message, title=_("Error in Notification"))
except Exception as e:
title = str(e)
message = frappe.get_traceback()
frappe.log_error(message=message, title=title)
frappe.log_error(title=title)
msg = f"<details><summary>{title}</summary>{message}</details>"
frappe.throw(msg, title=_("Error in Notification"))