Skip to content

Commit 75d7858

Browse files
authored
change the traceback format to print in one line (#362)
* change the traceback format to print in one line
1 parent 1ddb8e8 commit 75d7858

File tree

1 file changed

+14
-8
lines changed

1 file changed

+14
-8
lines changed

datadog_lambda/wrapper.py

Lines changed: 14 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -125,8 +125,8 @@ def __new__(cls, func):
125125
else:
126126
logger.debug("datadog_lambda_wrapper already wrapped")
127127
return _NoopDecorator(func)
128-
except Exception:
129-
traceback.print_exc()
128+
except Exception as e:
129+
logger.error(format_err_with_traceback(e))
130130
return func
131131

132132
def __init__(self, func):
@@ -204,8 +204,8 @@ def __init__(self, func):
204204
patch_all()
205205

206206
logger.debug("datadog_lambda_wrapper initialized")
207-
except Exception:
208-
traceback.print_exc()
207+
except Exception as e:
208+
logger.error(format_err_with_traceback(e))
209209

210210
def __call__(self, event, context, **kwargs):
211211
"""Executes when the wrapped function gets called"""
@@ -291,8 +291,8 @@ def _before(self, event, context):
291291
if profiling_env_var and is_new_sandbox():
292292
self.prof.start(stop_on_exit=False, profile_children=True)
293293
logger.debug("datadog_lambda_wrapper _before() done")
294-
except Exception:
295-
traceback.print_exc()
294+
except Exception as e:
295+
logger.error(format_err_with_traceback(e))
296296

297297
def _after(self, event, context):
298298
try:
@@ -358,8 +358,14 @@ def _after(self, event, context):
358358
event.get("requestContext", {}).get("requestId")
359359
)
360360
logger.debug("datadog_lambda_wrapper _after() done")
361-
except Exception:
362-
traceback.print_exc()
361+
except Exception as e:
362+
logger.error(format_err_with_traceback(e))
363+
364+
365+
def format_err_with_traceback(e):
366+
return "Error {}. Traceback: {}".format(
367+
e, traceback.format_exc().replace("\n", "\r")
368+
)
363369

364370

365371
datadog_lambda_wrapper = _LambdaDecorator

0 commit comments

Comments
 (0)