Skip to content

Commit 05ccc59

Browse files
committed
more tests
1 parent 88cb4d7 commit 05ccc59

File tree

2 files changed

+65
-5
lines changed

2 files changed

+65
-5
lines changed

sentry_sdk/integrations/loguru.py

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@
1212

1313
if TYPE_CHECKING:
1414
from logging import LogRecord
15-
from typing import Any, Tuple
15+
from typing import Any, Optional, Tuple
1616

1717
try:
1818
import loguru
@@ -74,7 +74,7 @@ class LoguruIntegration(Integration):
7474
event_level = DEFAULT_EVENT_LEVEL # type: int
7575
breadcrumb_format = DEFAULT_FORMAT
7676
event_format = DEFAULT_FORMAT
77-
sentry_logs_level = DEFAULT_LEVEL # type: int
77+
sentry_logs_level = DEFAULT_LEVEL # type: Optional[int]
7878

7979
def __init__(
8080
self,
@@ -162,7 +162,10 @@ def loguru_sentry_logs_handler(message):
162162

163163
record = message.record
164164

165-
if record["level"].no < LoguruIntegration.sentry_logs_level:
165+
if (
166+
LoguruIntegration.sentry_logs_level is not None
167+
and record["level"].no < LoguruIntegration.sentry_logs_level
168+
):
166169
return
167170

168171
otel_severity_number, otel_severity_text = _loguru_level_to_otel(record["level"].no)

tests/integrations/loguru/test_loguru.py

Lines changed: 59 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -137,7 +137,6 @@ def test_event_format(sentry_init, capture_events, uninstall_integration, reques
137137
def 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(
164163
def 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+
180237
def test_no_log_infinite_loop(
181238
sentry_init, capture_envelopes, uninstall_integration, request
182239
):

0 commit comments

Comments
 (0)