diff --git a/raven/handlers/logging.py b/raven/handlers/logging.py index fa759965..4af0fba4 100644 --- a/raven/handlers/logging.py +++ b/raven/handlers/logging.py @@ -116,7 +116,7 @@ class SentryHandler(logging.Handler, object): continue if k.startswith('_'): continue - if '.' not in k and k not in ('culprit', 'server_name'): + if '.' not in k and k not in ('culprit', 'server_name', 'fingerprint'): extra[k] = v else: data[k] = v diff --git a/tests/handlers/logging/tests.py b/tests/handlers/logging/tests.py index a2dac308..239224e3 100644 --- a/tests/handlers/logging/tests.py +++ b/tests/handlers/logging/tests.py @@ -215,6 +215,30 @@ class LoggingIntegrationTest(TestCase): event = self.client.events.pop(0) assert event['tags'] == {'foo': 'bar'} + def test_fingerprint_on_event(self): + record = self.make_record('Message', extra={'fingerprint': ['foo']}) + self.handler.emit(record) + + self.assertEqual(len(self.client.events), 1) + event = self.client.events.pop(0) + assert event['fingerprint'] == ['foo'] + + def test_culprit_on_event(self): + record = self.make_record('Message', extra={'culprit': 'foo'}) + self.handler.emit(record) + + self.assertEqual(len(self.client.events), 1) + event = self.client.events.pop(0) + assert event['culprit'] == 'foo' + + def test_server_name_on_event(self): + record = self.make_record('Message', extra={'server_name': 'foo'}) + self.handler.emit(record) + + self.assertEqual(len(self.client.events), 1) + event = self.client.events.pop(0) + assert event['server_name'] == 'foo' + class LoggingHandlerTest(TestCase): def test_client_arg(self):