@@ -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
365371datadog_lambda_wrapper = _LambdaDecorator
0 commit comments