in aws_embedded_metrics/logger/metrics_logger.py [0:0]
def add_stack_trace(self, key: str, details: Any = None, exc_info: Tuple = None) -> "MetricsLogger":
if not exc_info:
exc_info = sys.exc_info()
err_cls, err, tb = exc_info
if err_cls is None:
error_type = None
error_str = None
traceback_str = None
else:
if err_cls.__module__ == "builtins":
error_type = err_cls.__name__
else:
error_type = "{module}.{name}".format(module=err_cls.__module__, name=err_cls.__name__)
error_str = str(err)
traceback_str = ''.join(traceback.format_tb(tb))
trace_value = {}
if details:
trace_value["details"] = details
trace_value.update({
"error_type": error_type,
"error_str": error_str,
"traceback": traceback_str,
})
self.set_property(key, trace_value)
return self