我已经在我的 Django 服务器上安装了 Sentry,它已经成功安装并运行了 django-debug-toolbar。在我禁用 django-debug-toolbar 之前,错误不会发送到我的 Sentry 服务器。
我阅读了文档,并且有一个“警告”部分提到了其他定义的中间件的问题process_exception()
,但是我检查了代码并且 django-debug-toolbar 根本没有实现这个方法。
任何帮助,将不胜感激!
更多信息:
我按照此处所述安装了 Sentry 客户端:
首先安装 raven-python:
pip install raven
然后简单地修改你的 Django 配置:
# Set your DSN value RAVEN_CONFIG = { 'dsn': 'https://...', } # Add raven to the list of installed apps INSTALLED_APPS = INSTALLED_APPS + ( # ... 'raven.contrib.django.raven_compat', )
而已!Raven 自动安装一个错误处理钩子,将所有未捕获的异常通过管道传递给 Sentry。
从我的settings.py
:
DEBUG = True
MIDDLEWARE_CLASSES = (
'AppServer.middleware.startup.StartupMiddleware',
'django.middleware.common.CommonMiddleware',
'django.contrib.sessions.middleware.SessionMiddleware',
'django.contrib.auth.middleware.AuthenticationMiddleware',
'debug_toolbar.middleware.DebugToolbarMiddleware',
'django.contrib.messages.middleware.MessageMiddleware',
)
INSTALLED_APPS = (
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.sites',
'django.contrib.messages',
'django.contrib.humanize',
# Uncomment the next line to enable the admin:
# 'django.contrib.admin',
'raven.contrib.django.raven_compat',
'debug_toolbar',
)
SHOW_TOOLBAR_CALLBACK = lambda request: True
RAVEN_CONFIG = {
'dsn': 'https://...,
}