fix(DX): capture tracebacks with context (#39060)
diff --git a/erpnext/accounts/doctype/process_payment_reconciliation/process_payment_reconciliation.py b/erpnext/accounts/doctype/process_payment_reconciliation/process_payment_reconciliation.py
index f44b14c..761c2bc 100644
--- a/erpnext/accounts/doctype/process_payment_reconciliation/process_payment_reconciliation.py
+++ b/erpnext/accounts/doctype/process_payment_reconciliation/process_payment_reconciliation.py
@@ -440,7 +440,7 @@
# Update the parent doc about the exception
frappe.db.rollback()
- traceback = frappe.get_traceback()
+ traceback = frappe.get_traceback(with_context=True)
if traceback:
message = "Traceback: <br>" + traceback
frappe.db.set_value("Process Payment Reconciliation Log", log, "error_log", message)
diff --git a/erpnext/accounts/doctype/repost_payment_ledger/repost_payment_ledger.py b/erpnext/accounts/doctype/repost_payment_ledger/repost_payment_ledger.py
index 38bc1a6..2d10f7c 100644
--- a/erpnext/accounts/doctype/repost_payment_ledger/repost_payment_ledger.py
+++ b/erpnext/accounts/doctype/repost_payment_ledger/repost_payment_ledger.py
@@ -43,7 +43,7 @@
except Exception as e:
frappe.db.rollback()
- traceback = frappe.get_traceback()
+ traceback = frappe.get_traceback(with_context=True)
if traceback:
message = "Traceback: <br>" + traceback
frappe.db.set_value(repost_doc.doctype, repost_doc.name, "repost_error_log", message)
diff --git a/erpnext/manufacturing/doctype/bom_creator/bom_creator.py b/erpnext/manufacturing/doctype/bom_creator/bom_creator.py
index bd010d9..1709a1f 100644
--- a/erpnext/manufacturing/doctype/bom_creator/bom_creator.py
+++ b/erpnext/manufacturing/doctype/bom_creator/bom_creator.py
@@ -251,7 +251,7 @@
frappe.msgprint(_("BOMs created successfully"))
except Exception:
- traceback = frappe.get_traceback()
+ traceback = frappe.get_traceback(with_context=True)
self.db_set(
{
"status": "Failed",
diff --git a/erpnext/stock/doctype/closing_stock_balance/closing_stock_balance.py b/erpnext/stock/doctype/closing_stock_balance/closing_stock_balance.py
index 7db8522..f71d21d 100644
--- a/erpnext/stock/doctype/closing_stock_balance/closing_stock_balance.py
+++ b/erpnext/stock/doctype/closing_stock_balance/closing_stock_balance.py
@@ -149,6 +149,4 @@
doc.db_set("status", "Completed")
except Exception as e:
doc.db_set("status", "Failed")
- traceback = frappe.get_traceback()
-
- frappe.log_error("Closing Stock Balance Failed", traceback, doc.doctype, doc.name)
+ doc.log_error(title="Closing Stock Balance Failed")
diff --git a/erpnext/stock/doctype/repost_item_valuation/repost_item_valuation.py b/erpnext/stock/doctype/repost_item_valuation/repost_item_valuation.py
index 97ada06..79b8ee3 100644
--- a/erpnext/stock/doctype/repost_item_valuation/repost_item_valuation.py
+++ b/erpnext/stock/doctype/repost_item_valuation/repost_item_valuation.py
@@ -294,7 +294,7 @@
raise
frappe.db.rollback()
- traceback = frappe.get_traceback()
+ traceback = frappe.get_traceback(with_context=True)
doc.log_error("Unable to repost item valuation")
message = frappe.message_log.pop() if frappe.message_log else ""
diff --git a/erpnext/stock/reorder_item.py b/erpnext/stock/reorder_item.py
index 9075608..a6f52f3 100644
--- a/erpnext/stock/reorder_item.py
+++ b/erpnext/stock/reorder_item.py
@@ -141,7 +141,7 @@
exceptions_list.extend(frappe.local.message_log)
frappe.local.message_log = []
else:
- exceptions_list.append(frappe.get_traceback())
+ exceptions_list.append(frappe.get_traceback(with_context=True))
mr.log_error("Unable to create material request")
diff --git a/erpnext/utilities/bulk_transaction.py b/erpnext/utilities/bulk_transaction.py
index df21b61..679d5bd 100644
--- a/erpnext/utilities/bulk_transaction.py
+++ b/erpnext/utilities/bulk_transaction.py
@@ -62,7 +62,7 @@
task(log.transaction_name, log.from_doctype, log.to_doctype)
except Exception as e:
frappe.db.rollback(save_point="before_creation_state")
- update_log(log.name, "Failed", 1, str(frappe.get_traceback()))
+ update_log(log.name, "Failed", 1, str(frappe.get_traceback(with_context=True)))
else:
update_log(log.name, "Success", 1)
@@ -86,7 +86,7 @@
fail_count += 1
create_log(
doc_name,
- str(frappe.get_traceback()),
+ str(frappe.get_traceback(with_context=True)),
from_doctype,
to_doctype,
status="Failed",