sentry, raven and django celery-Collection of common programming errors
Timmy O’MahonyNow that
django-sentry
has become a standalone server (and is fantastic) I’m trying to port my apps over to use it.I have set up a standalone server configured a django application to log using django 1.3’s logging dictionary conf as per the raven docs. I can’t seem to get any celery tasks to log to the sentry server (they do get printed out to the console though).
I’m not really sure what I should be doing? I have included
raven.contrib.django.celery
in my `INSTALLED_APPS’.Uncaught exceptions are being sent to sentry, as are custom logging message via:
import logging logger = logging.getLogger(__name__) ... logger.info("Logged Message")
tghwYou need add this:
'celery': { 'level': 'WARNING', 'handlers': ['sentry'], 'propagate': False, },
To your
loggers
in the variableLOGGING
in your settings.something like:
# the site admins on every HTTP 500 error. # See http://docs.djangoproject.com/en/dev/topics/logging for # more details on how to customize your logging configuration. 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': 'DEBUG', 'class': 'raven.contrib.django.handlers.SentryHandler', }, '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, }, 'celery': { 'level': 'WARNING', 'handlers': ['sentry'], 'propagate': False, }, }, }