2016-08-03 52 views
5

Próbuję użyć prostego logowania i chcę wysyłać błędy/wyjątki do Sentry.Sentry konfiguracja django - logger

I skonfigurowany Sentry jak na dokumencie i uruchomić test pomyślnie na moim dev (python manage.py raven test)

dodałem konfigurację rejestrowania jak w Sentry documentation do Django ustawień

Kiedy umieścić ten kod w moim Zobacz, to nie działa w ogóle

import logging 
logger = logging.getLogger(__name__) 
logger.error('There was an error, with a stacktrace!', extra={ 
    'stack': True, 
}) 

Może ja czegoś brakuje

Tha NKS za pomoc

LOGGING = { 
    'version': 1, 
    'disable_existing_loggers': True, 
    'root': { 
     'level': 'WARNING', 
     'handlers': ['sentry'], 
    }, 
    'formatters': { 
     'verbose': { 
      'format': '%(levelname)s %(asctime)s %(module)s ' 
         '%(process)d %(thread)d %(message)s' 
     }, 
    }, 
    'handlers': { 
     'sentry': { 
      'level': 'ERROR', # To capture more than ERROR, change to WARNING, INFO, etc. 
      'class': 'raven.contrib.django.raven_compat.handlers.SentryHandler', 
      'tags': {'custom-tag': 'x'}, 
     }, 
     'console': { 
      'level': 'DEBUG', 
      'class': 'logging.StreamHandler', 
      'formatter': 'verbose' 
     } 
    }, 
    'loggers': { 
     'django.db.backends': { 
      'level': 'ERROR', 
      'handlers': ['console'], 
      'propagate': False, 
     }, 
     'raven': { 
      'level': 'DEBUG', 
      'handlers': ['console'], 
      'propagate': False, 
     }, 
     'sentry.errors': { 
      'level': 'DEBUG', 
      'handlers': ['console'], 
      'propagate': False, 
     }, 
    }, 
} 
+0

pokaż swoją konfigurację 'settings.py' dla' LOGGING'. Co masz na myśli, że to w ogóle nie działa? Spróbuj także najpierw napisać swój logger do pliku - patrz https://docs.djangoproject.com/ja/1.9/topics/logging/#examples. Czy rejestrator zapisuje do pliku, ale nie wysyła do Sentry? – YPCrumble

+0

Dodałem konfigurację LOGGING powyżej, tak, mogę zapisać log do pliku, ale nie wysyłam do wartownika. Inną rzeczą, jeśli podniosę błąd, to wyśle ​​to do wartownika. – Dilraj

Odpowiedz

1

integracja z Django wymaga specjalnej aplikacji Raven Django i RAVEN_CONFIG w settings.py:

INSTALLED_APPS = (
    'raven.contrib.django.raven_compat', 
) 

RAVEN_CONFIG = { 
    'dsn': 'https://<key>:<secret>@sentry.io/<project>', 
} 

Czy konfiguracja im?