Когда моя база данных опускается, Sentry мгновенно переполняется затопленным psycopg2 OperationalError: could not connect to server: Connection refused
. Поскольку OperationalError
может быть выброшен в других случаях, чем недоступные базы данных, я не могу просто слепо проигнорировать его, используя RAVEN_CONFIG
's IGNORE_EXCEPTIONS
.Предотвращение ворона от стрельбы по указанным исключениям в Sentry
Я попытался написать a filter for Django logging, но он просто не работает. Он правильно перехватывает исключение, но все же пузырится его как-то. Вот фильтр:
def skip_unreachable_database(record):
"""Avoid flooding Sentry when the database is down"""
if record.exc_info:
print '>>>', record.exc_info
exc_type, exc_value = record.exc_info[:2]
if isinstance(exc_value, OperationalError) and exc_value.message.lower().startswith('could not connect to server: connection refused'):
return False
return True
Существует a ticket about filtering not working with Raven, но он был закрыт.
Любая идея, как я мог это решить?