@@ -61,6 +61,48 @@ def __str__(self):
61
61
__repr__ = __str__
62
62
63
63
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
+
64
106
def test_newrelic_logger_no_error (log_buffer ):
65
107
extra = {
66
108
"string" : "foo" ,
0 commit comments