|
6 | 6 | from sentry_sdk.integrations.logging import LoggingIntegration
|
7 | 7 |
|
8 | 8 | other_logger = logging.getLogger("testfoo")
|
9 |
| -other_logger.setLevel(logging.DEBUG) |
10 |
| - |
11 | 9 | 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) |
13 | 16 |
|
14 | 17 |
|
15 | 18 | @pytest.mark.parametrize("logger", [logger, other_logger])
|
@@ -73,3 +76,42 @@ def test_logging_stack(sentry_init, capture_events):
|
73 | 76 |
|
74 | 77 | assert event_without["level"] == "error"
|
75 | 78 | 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