데이터베이스가 다운되면 Sentry는 즉시 psycopg2의 OperationalError: could not connect to server: Connection refused
에 넘칩니다. OperationalError
은 도달 할 수없는 데이터베이스 이외의 다른 경우에 던져 질 수 있으므로 RAVEN_CONFIG
의 IGNORE_EXCEPTIONS
을 사용하여 맹목적으로 무시할 수는 없습니다.Rent가 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이 있지만 폐쇄되었습니다.
어떻게 해결할 수 있습니까? 나는 (지금은) 그것을 알아 낸 방법은 다음과