@@ -61,6 +61,48 @@ def __str__(self):
6161 __repr__ = __str__
6262
6363
64+ def test_newrelic_logger_min_extra_keys_no_error (log_buffer ):
65+ extra = {
66+ "string" : "foo" ,
67+ }
68+ _logger .info ("Hello %s" , "World" , extra = extra )
69+
70+ log_buffer .seek (0 )
71+ message = json .load (log_buffer )
72+
73+ timestamp = message .pop ("timestamp" )
74+ thread_id = message .pop ("thread.id" )
75+ process_id = message .pop ("process.id" )
76+ filename = message .pop ("file.name" )
77+ line_number = message .pop ("line.number" )
78+
79+ assert isinstance (timestamp , int )
80+ assert isinstance (thread_id , int )
81+ assert isinstance (process_id , int )
82+ assert filename .endswith ("/test_logs_in_context.py" )
83+ assert isinstance (line_number , int )
84+
85+ expected = {
86+ "entity.name" : "Python Agent Test (agent_features)" ,
87+ "entity.type" : "SERVICE" ,
88+ "message" : "Hello World" ,
89+ "log.level" : "INFO" ,
90+ "logger.name" : "test_logs_in_context" ,
91+ "thread.name" : "MainThread" ,
92+ "process.name" : "MainProcess" ,
93+ "extra.string" : "foo" ,
94+ }
95+ expected_extra_txn_keys = (
96+ "entity.guid" ,
97+ "hostname" ,
98+ )
99+
100+ for k , v in expected .items ():
101+ assert message .pop (k ) == v
102+
103+ assert set (message .keys ()) == set (expected_extra_txn_keys )
104+
105+
64106def test_newrelic_logger_no_error (log_buffer ):
65107 extra = {
66108 "string" : "foo" ,
0 commit comments