2013-10-25 3 views
2

파이고 레이븐을 사용하여 장고 프로젝트의 모든 500을 자동으로 캡처합니다. 잘 작동합니다. 나는 또한 그들을 처리 할 수있는 특별한 태그를 다루는 몇 가지 예외를 처리하고 전달하고있다. 문제는 특정 태그가 누락 된 메시지를 필터링 할 수 없어서 모든 메시지에 기본 태그를 설정하고 작동하도록 설정할 수 없다는 것입니다.Django 보초 기본 태그

다음을 시도했지만 무시되었습니다.

RAVEN_CONFIG = { 
    'dsn': 'udp://x:[email protected]:q/w', 
    'tags': {'testtag': 'value'}, 
} 

기본 태그를 보초로 보내는 방법을 아는 사람이 있습니까?

답변

0

조금 더 살펴보면 이것이 가능한 ATM이 아닌 것처럼 보입니다.

0

메시지를 로깅하기 전에 로거에 다른 이름을 지정할 수 있습니다. 그러면 Sentry 서버에서 "로거"로 필터링 할 수 있습니다.

7

다음은 설정 모듈에서 나에게 적합합니다. 보내는 모든 메시지에 환경 변수 DJANGO_ENVDIR을 추가합니다.

from raven.contrib.django.client import DjangoClient as RavenDjangoClient 
class SentryDjangoClient(RavenDjangoClient): 
    def build_msg(self, *args, **kwargs): 
     data = super(RavenDjangoClient, self).build_msg(*args, **kwargs) 
     data['tags']['ENVDIR'] = os.environ.get('DJANGO_ENVDIR', 'unset') 
     return data 

if get_env_var('SENTRY_DSN', False): 
    RAVEN_CONFIG = { 
     'dsn': get_env_var('SENTRY_DSN'), 
     # NOTE: timeout set via DSN 
    } 
    SENTRY_CLIENT = 'project.settings.base.SentryDjangoClient' 

당신은 당신이 build_msg 방법을 확장 SentryDjangoClient 클래스를 어디다에 따르면, SENTRY_CLIENT 설정을 조정해야합니다.

+0

콘솔에서 계속 지켜 보았 으면 '길이의 메시지 보내기'가 사라질 수 있습니다. 걱정하지 말고, 루트 로거 (또는'SentryDjangoClient'가 사는 곳)의 로그 레벨이'DEBUG'로 설정되었는지 확인하십시오. – Kurt