Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Sentry django configuration - logger

I am trying to use simple logging and want to send errors/exceptions to Sentry.

I configured the Sentry as per the document and run the test successfully on my dev(python manage.py raven test)

I added the Logging configuration as in Sentry documentation to a Django settings

When I put this code in my View, then it doesn't work at all

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

Maybe I am missing something

Thanks for the help

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,
        },
    },
}
like image 797
Dilraj Avatar asked Aug 03 '16 10:08

Dilraj


1 Answers

Integration with Django requires special Raven Django app and RAVEN_CONFIG in settings.py:

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

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

Have you setup them?

like image 105
mapcuk Avatar answered Oct 09 '22 04:10

mapcuk