@@ -92,19 +92,27 @@ def _forward_logs(self, logs, key=None):
9292 log = add_retry_tag (log )
9393
9494 evaluated_log = log
95+ to_forward = None
9596
9697 # apply scrubbing rules to inner log message
97- if isinstance (log , dict ) and log .get ("message" ):
98- try :
99- log ["message" ] = scrubber .scrub (log ["message" ])
100- evaluated_log = log ["message" ]
101- except Exception as e :
102- logger .error (
103- f"Exception while scrubbing log message { log ['message' ]} : { e } "
104- )
98+ if isinstance (log , dict ):
99+ if log .get ("message" ):
100+ try :
101+ log ["message" ] = scrubber .scrub (log ["message" ])
102+ evaluated_log = log ["message" ]
103+ except Exception as e :
104+ logger .error (
105+ f"Exception while scrubbing log message { log ['message' ]} : { e } "
106+ )
107+ else :
108+ to_forward = dump_event (log )
109+ evaluated_log = to_forward
105110
106111 if matcher .match (evaluated_log ):
107- logs_to_forward .append (json .dumps (log , ensure_ascii = False ))
112+ if to_forward is None :
113+ logs_to_forward .append (dump_event (log ))
114+ else :
115+ logs_to_forward .append (to_forward )
108116
109117 batcher = DatadogBatcher (512 * 1000 , 4 * 1000 * 1000 , 400 )
110118 cli = DatadogHTTPClient (
@@ -186,3 +194,7 @@ def _forward_traces(self, traces, key=None):
186194 if key :
187195 self .storage .delete_data (key )
188196 send_event_metric ("traces_forwarded" , len (traces ))
197+
198+
199+ def dump_event (event ):
200+ return json .dumps (event , ensure_ascii = False )
0 commit comments