2

我已经在我的 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://...,
}
4

0 回答 0