Rejestrujemy nowe konto i dodajemy naszą stronę. Po utworzeniu nowego projektu otrzymamy klucz prywatny "dsn"
Instalujemy aplikację raven
pip install raven
dodajemy nową aplikację do INSTALLED_APPS w settings.py
INSTALLED_APPS = {
'raven.contrib.django.raven_compat'
}
# dodajemy nasz nowo utworzony klucz prywatny
RAVEN_CONFIG = {
'dsn': 'nasz_klucz_prywatny',
}
sprawdzamy, czy komunikacja między naszym serwisem a sentry działą prawidłowo
python manage.py raven test
Integrujemy sentry z apką logging
Dodajemy słownik LOGGING w pliku settings.py
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',
'class': 'raven.contrib.django.raven_compat.handlers.SentryHandler',
},
'console': {
'level': 'DEBUG',
'class': 'logging.StreamHandler',
'formatter': 'verbose'
}
},
'loggers': {
'django.db.backends': {
'level': 'ERROR',
'handlers': ['console'],
'propagate': False,
},
'raven': {
'level': 'WARNING',
'handlers': ['console'],
'propagate': False,
},
'sentry.errors': {
'level': 'DEBUG',
'handlers': ['console'],
'propagate': False,
},
},
}
Prosty przykład logowania błędu
Importujemy apkę logging
import logging
log = logging.getLogger(__name__)
# w miejscu, w którym chcemy dodać logowanie naszego błędu wpisujemy
log.error(u'Komunikat błędu.', exc_info=True, extra={
'request': request, # możemy dodać inne zmienne, które chcemy przekazać do logu
}
Komentarze