Skip to content

Commit 8b3de2c

Browse files
committed
test: Add test for logging filters
1 parent 56b6da7 commit 8b3de2c

File tree

1 file changed

+45
-3
lines changed

1 file changed

+45
-3
lines changed

tests/integrations/logging/test_logging.py

+45-3
Original file line numberDiff line numberDiff line change
@@ -6,10 +6,13 @@
66
from sentry_sdk.integrations.logging import LoggingIntegration
77

88
other_logger = logging.getLogger("testfoo")
9-
other_logger.setLevel(logging.DEBUG)
10-
119
logger = logging.getLogger(__name__)
12-
logger.setLevel(logging.DEBUG)
10+
11+
12+
@pytest.fixture(autouse=True)
13+
def reset_level():
14+
other_logger.setLevel(logging.DEBUG)
15+
logger.setLevel(logging.DEBUG)
1316

1417

1518
@pytest.mark.parametrize("logger", [logger, other_logger])
@@ -73,3 +76,42 @@ def test_logging_stack(sentry_init, capture_events):
7376

7477
assert event_without["level"] == "error"
7578
assert "threads" not in event_without
79+
80+
81+
def test_logging_level(sentry_init, capture_events):
82+
sentry_init(integrations=[LoggingIntegration()], default_integrations=False)
83+
events = capture_events()
84+
85+
logger.setLevel(logging.WARNING)
86+
logger.error("hi")
87+
event, = events
88+
assert event["level"] == "error"
89+
assert event["logentry"]["message"] == "hi"
90+
91+
del events[:]
92+
93+
logger.setLevel(logging.ERROR)
94+
logger.warn("hi")
95+
assert not events
96+
97+
98+
def test_logging_filters(sentry_init, capture_events):
99+
sentry_init(integrations=[LoggingIntegration()], default_integrations=False)
100+
events = capture_events()
101+
102+
should_log = False
103+
104+
class MyFilter(logging.Filter):
105+
def filter(self, record):
106+
return should_log
107+
108+
logger.addFilter(MyFilter())
109+
logger.error("hi")
110+
111+
assert not events
112+
113+
should_log = True
114+
logger.error("hi")
115+
116+
event, = events
117+
assert event["logentry"]["message"] == "hi"

0 commit comments

Comments
 (0)