@@ -26,6 +26,7 @@ def test_logging_works_with_many_loggers(sentry_init, capture_events, logger):
2626 assert event ["level" ] == "fatal"
2727 assert not event ["logentry" ]["params" ]
2828 assert event ["logentry" ]["message" ] == "LOL"
29+ assert event ["logentry" ]["formatted" ] == "LOL"
2930 assert any (crumb ["message" ] == "bread" for crumb in event ["breadcrumbs" ]["values" ])
3031
3132
@@ -112,6 +113,7 @@ def test_logging_level(sentry_init, capture_events):
112113 (event ,) = events
113114 assert event ["level" ] == "error"
114115 assert event ["logentry" ]["message" ] == "hi"
116+ assert event ["logentry" ]["formatted" ] == "hi"
115117
116118 del events [:]
117119
@@ -152,6 +154,7 @@ def test_custom_log_level_names(sentry_init, capture_events):
152154 assert events
153155 assert events [0 ]["level" ] == sentry_level
154156 assert events [0 ]["logentry" ]["message" ] == "Trying level %s"
157+ assert events [0 ]["logentry" ]["formatted" ] == f"Trying level { logging_level } "
155158 assert events [0 ]["logentry" ]["params" ] == [logging_level ]
156159
157160 del events [:]
@@ -177,6 +180,7 @@ def filter(self, record):
177180
178181 (event ,) = events
179182 assert event ["logentry" ]["message" ] == "hi"
183+ assert event ["logentry" ]["formatted" ] == "hi"
180184
181185
182186def test_logging_captured_warnings (sentry_init , capture_events , recwarn ):
@@ -198,10 +202,12 @@ def test_logging_captured_warnings(sentry_init, capture_events, recwarn):
198202 assert events [0 ]["level" ] == "warning"
199203 # Captured warnings start with the path where the warning was raised
200204 assert "UserWarning: first" in events [0 ]["logentry" ]["message" ]
205+ assert "UserWarning: first" in events [0 ]["logentry" ]["formatted" ]
201206 assert events [0 ]["logentry" ]["params" ] == []
202207
203208 assert events [1 ]["level" ] == "warning"
204209 assert "UserWarning: second" in events [1 ]["logentry" ]["message" ]
210+ assert "UserWarning: second" in events [1 ]["logentry" ]["formatted" ]
205211 assert events [1 ]["logentry" ]["params" ] == []
206212
207213 # Using recwarn suppresses the "third" warning in the test output
@@ -234,6 +240,7 @@ def test_ignore_logger_wildcard(sentry_init, capture_events):
234240
235241 (event ,) = events
236242 assert event ["logentry" ]["message" ] == "hi"
243+ assert event ["logentry" ]["formatted" ] == "hi"
237244
238245
239246def test_logging_dictionary_interpolation (sentry_init , capture_events ):
@@ -245,6 +252,10 @@ def test_logging_dictionary_interpolation(sentry_init, capture_events):
245252
246253 (event ,) = events
247254 assert event ["logentry" ]["message" ] == "this is a log with a dictionary %s"
255+ assert (
256+ event ["logentry" ]["formatted" ]
257+ == "this is a log with a dictionary {'foo': 'bar'}"
258+ )
248259 assert event ["logentry" ]["params" ] == {"foo" : "bar" }
249260
250261
@@ -263,4 +274,8 @@ def test_logging_dictionary_args(sentry_init, capture_events):
263274 event ["logentry" ]["message" ]
264275 == "the value of foo is %(foo)s, and the value of bar is %(bar)s"
265276 )
277+ assert (
278+ event ["logentry" ]["formatted" ]
279+ == "the value of foo is bar, and the value of bar is baz"
280+ )
266281 assert event ["logentry" ]["params" ] == {"foo" : "bar" , "bar" : "baz" }
0 commit comments