@@ -125,8 +125,8 @@ def __new__(cls, func):
125
125
else :
126
126
logger .debug ("datadog_lambda_wrapper already wrapped" )
127
127
return _NoopDecorator (func )
128
- except Exception :
129
- traceback . print_exc ( )
128
+ except Exception as e :
129
+ logger . error ( format_err_with_traceback ( e ) )
130
130
return func
131
131
132
132
def __init__ (self , func ):
@@ -204,8 +204,8 @@ def __init__(self, func):
204
204
patch_all ()
205
205
206
206
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 ) )
209
209
210
210
def __call__ (self , event , context , ** kwargs ):
211
211
"""Executes when the wrapped function gets called"""
@@ -291,8 +291,8 @@ def _before(self, event, context):
291
291
if profiling_env_var and is_new_sandbox ():
292
292
self .prof .start (stop_on_exit = False , profile_children = True )
293
293
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 ) )
296
296
297
297
def _after (self , event , context ):
298
298
try :
@@ -358,8 +358,14 @@ def _after(self, event, context):
358
358
event .get ("requestContext" , {}).get ("requestId" )
359
359
)
360
360
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
+ )
363
369
364
370
365
371
datadog_lambda_wrapper = _LambdaDecorator
0 commit comments