센트리/레이븐이 특정 함수 또는 장고 모듈의 모든 예외를 무시하고 싶지만 문서와 코드를 살펴보면 추가 속성을 추가하여 사용자 정의 예외를 무시할 수있는 옵션 만 보았습니다. 함수 이름이나 모듈 이름으로 예외를 무시할 수 있습니까? 감사! 난 당신이 특정 예외를 무시하려는 경우이 같은 IGNORE_EXCEPTIONS
에 추가 할 수 있습니다 것을보고 까마귀의 소스를 통해 읽기장고와 레이븐 : 특정 예외를 무시하는 방법?
7
A
답변
5
:
RAVEN_CONFIG = {
'dsn': '...',
'IGNORE_EXCEPTIONS': ['exceptions.ZeroDivisionError', 'some.other.module.CustomException'],
...
}
을 특정 모듈의 배제에 관해서는/가장 좋은 방법을 파일 아마도 자신의 클라이언트를 작성하고 센트리에게 메시지를 보낼지 여부를 결정하는 것이 될 것입니다. 더 접근하기 쉬운 형태로 모든 데이터를 가지고 있으므로 send
메서드를 재정의해야한다고 생각합니다.
from raven.contrib.django.client import DjangoClient
class MyClient(DjangoClient):
def send(self, **kwargs):
'''
check if culprit (event name) should be skipped
'''
if kwargs.get('culprit', '').startswith('my.module.to.skip'):
self.logger.info('Skipping entry')
else:
return super(MyClient, self).send(**kwargs)
을 다음 settings.py
에서 사용자 정의 클라이언트를 설정합니다 :
이 같은 그것을 할 수
SENTRY_CLIENT = 'path.to.module.MyClient'
을 당신이 아마 확인해야 무시에 대한보다 정교한 규칙을 구현하려면 무엇을 주어진 데이터 (kwargs)로 할 수 있습니다.