aboutsummaryrefslogtreecommitdiff
path: root/gn_auth/errors/tracing.py
diff options
context:
space:
mode:
Diffstat (limited to 'gn_auth/errors/tracing.py')
-rw-r--r--gn_auth/errors/tracing.py18
1 files changed, 18 insertions, 0 deletions
diff --git a/gn_auth/errors/tracing.py b/gn_auth/errors/tracing.py
new file mode 100644
index 0000000..25b544f
--- /dev/null
+++ b/gn_auth/errors/tracing.py
@@ -0,0 +1,18 @@
+"""Utilities for improving error tracing."""
+import logging
+import traceback
+
+from flask import request
+
+logger = logging.getLogger(__name__)
+
+
+def add_trace(exc: Exception, errobj: dict) -> dict:
+ """Add the traceback to the error handling object."""
+ logger.error("Endpoint: %s\n%s",
+ request.url,
+ traceback.format_exception(exc))
+ return {
+ **errobj,
+ "error-trace": "".join(traceback.format_exception(exc))
+ }