@@ -167,6 +167,40 @@ def test_simple_log_record_processor_shutdown(self):
167
167
finished_logs = exporter .get_finished_logs ()
168
168
self .assertEqual (len (finished_logs ), 0 )
169
169
170
+ def test_simple_log_record_processor_different_msg_types (self ):
171
+ exporter = InMemoryLogExporter ()
172
+ log_record_processor = BatchLogRecordProcessor (exporter )
173
+
174
+ provider = LoggerProvider ()
175
+ provider .add_log_record_processor (log_record_processor )
176
+
177
+ logger = logging .getLogger ("different_msg_types" )
178
+ logger .addHandler (LoggingHandler (logger_provider = provider ))
179
+
180
+ logger .warning ("warning message: %s" , "possible upcoming heatwave" )
181
+ logger .error ("Very high rise in temperatures across the globe" )
182
+ logger .critical ("Temperature hits high 420 C in Hyderabad" )
183
+ logger .warning (["list" , "of" , "strings" ])
184
+ logger .error ({"key" : "value" })
185
+ log_record_processor .shutdown ()
186
+
187
+ finished_logs = exporter .get_finished_logs ()
188
+ expected = [
189
+ ("warning message: possible upcoming heatwave" , "WARNING" ),
190
+ ("Very high rise in temperatures across the globe" , "ERROR" ),
191
+ (
192
+ "Temperature hits high 420 C in Hyderabad" ,
193
+ "CRITICAL" ,
194
+ ),
195
+ (["list" , "of" , "strings" ], "WARNING" ),
196
+ ({"key" : "value" }, "ERROR" )
197
+ ]
198
+ emitted = [
199
+ (item .log_record .body , item .log_record .severity_text )
200
+ for item in finished_logs
201
+ ]
202
+ self .assertEqual (expected , emitted )
203
+
170
204
171
205
class TestBatchLogRecordProcessor (ConcurrencyTestBase ):
172
206
def test_emit_call_log_record (self ):
0 commit comments