获取Sentry中记录的异常

时间:2015-02-10 10:54:28

标签: python django exception heroku sentry

我有一个heroku后端,所有错误都记录在哨兵中。但是,没有记录任何例外情况

有没有办法在哨兵中记录例外情况?

这是我典型的Sentry屏幕:http://gyazo.com/3f14899e0a2fb2fb758ba22ae180cf26

我的设置在这里:

# sentry config
# Set your DSN value
RAVEN_CONFIG = {
    'dsn': 'https://ba3cf8050acb4e9b977fde27f30c0bb2:b59c09b7cb0a4b07ae75b08debc3eb24@app.getsentry.com/35850',
}

LOGGING = {
    'version': 1,
    'disable_existing_loggers': True,
    'root': {
        'level': 'WARNING',
        'handlers': ['console'],
    },
    'formatters': {
        'verbose': {
            'format': '%(levelname)s %(asctime)s %(module)s %(process)d %(thread)d %(message)s'
        },
        'standard': {
            'format': '%(asctime)s [%(levelname)s] %(name)s: %(message)s'
        },
    },
    'handlers': {
        'sentry': {
            'level': 'WARNING',
            'class': 'raven.contrib.django.raven_compat.handlers.SentryHandler',
        },
        'console': {
            'level': 'DEBUG',
            'class': 'logging.StreamHandler',
            'formatter': 'verbose'
        }
    },
    'loggers': {
        'django.db.backends': {
            'level': 'WARNING',
            'handlers': ['console'],
            'propagate': True,
        },
        'django.request': {
            'level': 'DEBUG',
            'handlers': ['console'],
            'propagate': True,
        },
        'raven': {
            'level': 'DEBUG',
            'handlers': ['console'],
            'propagate': False,
        },
        'sentry.errors': {
            'level': 'DEBUG',
            'handlers': ['console', 'sentry'],
            'propagate': False,
        },
        'celery': {
            'level': 'WARNING',
            'handlers': ['sentry', 'console'],
            'propagate': True,
        },
    },
}

# enable 404 logging
MIDDLEWARE_CLASSES = MIDDLEWARE_CLASSES + (
  'raven.contrib.django.raven_compat.middleware.Sentry404CatchMiddleware',
)

1 个答案:

答案 0 :(得分:0)

你有added乌鸦来到INSTALLED_APPS档案中的settings.py吗?

  

这会导致Raven在Django中安装一个钩子,它会自动报告未捕获的异常。

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

如果您有另一个处理错误和异常的中间件,您必须确保它们仍然通过adding a custom middleware发送到Sentry服务器。