Skip to content

Commit 880b860

Browse files
vladlutkovuntitaker
authored andcommitted
fix: Allow int keys in extra dict (getsentry#426)
1 parent 95322eb commit 880b860

File tree

2 files changed

+13
-1
lines changed

2 files changed

+13
-1
lines changed

sentry_sdk/integrations/logging.py

+2-1
Original file line numberDiff line numberDiff line change
@@ -139,7 +139,8 @@ def _extra_from_record(record):
139139
return {
140140
k: v
141141
for k, v in iteritems(vars(record))
142-
if k not in COMMON_RECORD_ATTRS and not k.startswith("_")
142+
if k not in COMMON_RECORD_ATTRS
143+
and (not isinstance(k, str) or not k.startswith("_"))
143144
}
144145

145146

tests/integrations/logging/test_logging.py

+11
Original file line numberDiff line numberDiff line change
@@ -61,6 +61,17 @@ def test_logging_extra_data(sentry_init, capture_events):
6161
)
6262

6363

64+
def test_logging_extra_data_integer_keys(sentry_init, capture_events):
65+
sentry_init(integrations=[LoggingIntegration()], default_integrations=False)
66+
events = capture_events()
67+
68+
logger.critical("integer in extra keys", extra={1: 1})
69+
70+
event, = events
71+
72+
assert event["extra"] == {"1": 1}
73+
74+
6475
@pytest.mark.xfail(sys.version_info[:2] == (3, 4), reason="buggy logging module")
6576
def test_logging_stack(sentry_init, capture_events):
6677
sentry_init(integrations=[LoggingIntegration()], default_integrations=False)

0 commit comments

Comments
 (0)