@@ -137,7 +137,6 @@ def test_event_format(sentry_init, capture_events, uninstall_integration, reques
137137def test_sentry_logs_warning (
138138 sentry_init , capture_envelopes , uninstall_integration , request
139139):
140- """We should capture warning logs."""
141140 uninstall_integration ("loguru" )
142141 request .addfinalizer (logger .remove )
143142
@@ -164,7 +163,6 @@ def test_sentry_logs_warning(
164163def test_sentry_logs_debug (
165164 sentry_init , capture_envelopes , uninstall_integration , request
166165):
167- """We don't capture debug logs by default."""
168166 uninstall_integration ("loguru" )
169167 request .addfinalizer (logger .remove )
170168
@@ -177,6 +175,65 @@ def test_sentry_logs_debug(
177175 assert len (envelopes ) == 0
178176
179177
178+ def test_sentry_log_levels (
179+ sentry_init , capture_envelopes , uninstall_integration , request
180+ ):
181+ uninstall_integration ("loguru" )
182+ request .addfinalizer (logger .remove )
183+
184+ sentry_init (
185+ integrations = [LoguruIntegration (sentry_logs_level = LoggingLevels .SUCCESS )],
186+ _experiments = {"enable_logs" : True },
187+ )
188+ envelopes = capture_envelopes ()
189+
190+ logger .trace ("this is a log" )
191+ logger .debug ("this is a log" )
192+ logger .info ("this is a log" )
193+ logger .success ("this is a log" )
194+ logger .warning ("this is a log" )
195+ logger .error ("this is a log" )
196+ logger .critical ("this is a log" )
197+
198+ sentry_sdk .get_client ().flush ()
199+ logs = envelopes_to_logs (envelopes )
200+ assert len (logs ) == 4
201+
202+ assert logs [0 ]["severity_number" ] == 11
203+ assert logs [0 ]["severity_text" ] == "info"
204+ assert logs [1 ]["severity_number" ] == 13
205+ assert logs [1 ]["severity_text" ] == "warn"
206+ assert logs [2 ]["severity_number" ] == 17
207+ assert logs [2 ]["severity_text" ] == "error"
208+ assert logs [3 ]["severity_number" ] == 21
209+ assert logs [3 ]["severity_text" ] == "fatal"
210+
211+
212+ def test_turn_off_sentry_logs (
213+ sentry_init , capture_envelopes , uninstall_integration , request
214+ ):
215+ uninstall_integration ("loguru" )
216+ request .addfinalizer (logger .remove )
217+
218+ sentry_init (
219+ integrations = [LoguruIntegration (sentry_logs_level = None )],
220+ _experiments = {"enable_logs" : True },
221+ )
222+ envelopes = capture_envelopes ()
223+
224+ logger .trace ("this is a log" )
225+ logger .debug ("this is a log" )
226+ logger .info ("this is a log" )
227+ logger .success ("this is a log" )
228+ logger .warning ("this is a log" )
229+ logger .error ("this is a log" )
230+ logger .critical ("this is a log" )
231+
232+ sentry_sdk .get_client ().flush ()
233+ logs = envelopes_to_logs (envelopes )
234+ assert len (logs ) == 0
235+
236+
180237def test_no_log_infinite_loop (
181238 sentry_init , capture_envelopes , uninstall_integration , request
182239):
0 commit comments