Skip to content

Commit 7eff9bf

Browse files
committed
Merge pull request getsentry#364 from eandre/master
Don't ignore records for all modules starting with "raven"
2 parents ca5104a + db54baf commit 7eff9bf

File tree

2 files changed

+19
-5
lines changed

2 files changed

+19
-5
lines changed

raven/handlers/logging.py

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -47,9 +47,10 @@ def __init__(self, *args, **kwargs):
4747
logging.Handler.__init__(self, level=kwargs.get('level', logging.NOTSET))
4848

4949
def can_record(self, record):
50-
if record.name.startswith(('sentry.errors', 'raven')):
51-
return False
52-
return True
50+
return not (
51+
record.name == 'raven' or
52+
record.name.startswith(('sentry.errors', 'raven.'))
53+
)
5354

5455
def emit(self, record):
5556
try:

tests/handlers/logging/tests.py

Lines changed: 15 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -26,8 +26,8 @@ def setUp(self):
2626
self.client = TempStoreClient(include_paths=['tests', 'raven'])
2727
self.handler = SentryHandler(self.client)
2828

29-
def make_record(self, msg, args=(), level=logging.INFO, extra=None, exc_info=None):
30-
record = logging.LogRecord('root', level, __file__, 27, msg, args, exc_info, 'make_record')
29+
def make_record(self, msg, args=(), level=logging.INFO, extra=None, exc_info=None, name='root', pathname=__file__):
30+
record = logging.LogRecord(name, level, pathname, 27, msg, args, exc_info, 'make_record')
3131
if extra:
3232
for key, value in six.iteritems(extra):
3333
record.__dict__[key] = value
@@ -49,6 +49,19 @@ def test_logger_basic(self):
4949
self.assertEqual(msg['message'], 'This is a test error')
5050
self.assertEqual(msg['params'], ())
5151

52+
def test_can_record(self):
53+
tests = [
54+
("raven", False),
55+
("raven.foo", False),
56+
("sentry.errors", False),
57+
("sentry.errors.foo", False),
58+
("raven_utils", True),
59+
]
60+
61+
for test in tests:
62+
record = self.make_record("Test", name=test[0])
63+
self.assertEqual(self.handler.can_record(record), test[1])
64+
5265
def test_logger_extra_data(self):
5366
record = self.make_record('This is a test error', extra={'data': {
5467
'url': 'http://example.com',

0 commit comments

Comments
 (0)