乌鸦不向哨兵报告例外情况

2024-05-23 09:40:10 发布

您现在位置:Python中文网/ 问答频道 /正文

未捕获的异常不会报告给哨兵。在

我已经运行了manage.py raven test,我在sentry中得到了测试消息,以确认通信正常。在

我的配置包括:

# settings.py

RAVEN_CONFIG = {
    'dsn': '****',
}

SENTRY_CLIENT = 'raven.contrib.django.raven_compat.DjangoClient'

SENTRY_AUTO_LOG_STACKS = True

INSTALLED_APPS += [
    'raven.contrib.django.raven_compat',
]

那么

^{pr2}$

Tags: djangopytestconfig消息settingsmanage报告
2条回答

首先你需要硬编码你的DSN,因为它包含重要信息, 在django上,我认为最好使用python日志记录

RAVEN_CONFIG = {
'dsn': os.environ.get('SENTRY_DSN'),
}

 LOGGING = {
'version': 1,
'disable_existing_loggers': False,
'formatters': {
    'verbose': {
        'format': '%(levelname)s [%(pathname)s:%(lineno)d] - %(message)s'
    },
    'simple': {
        'format': '%(levelname)s %(message)s'
    },
},
'handlers': {
    'sentry': {
        'level': 'ERROR',
        'class': 'raven.contrib.django.raven_compat.handlers.SentryHandler',
        'tags': {'custom-tag': os.environ.get('SENTRY_TAG')},
    },
    'console': {
        'level': 'ERROR',
        'class': 'logging.StreamHandler',
        'formatter': 'verbose'
    }
},
'loggers': {
    'django': {
        'handlers': ['console', 'sentry'],
        'level': 'ERROR',
    },
    'Your_app {
        'handlers': ['console', 'sentry'],
        'level': 'ERROR',
    },
    'raven': {
        'level': 'ERROR',
        'handlers': ['sentry', 'console'],
        'propagate': False,
    }

}
}

然后运行python管理.pyraven测试并共享控制台消息

docs中所示,出现异常时应调用client.captureException()

try:
    1 / 0
except ZeroDivisionError:
    client.captureException()

wsgi.py中,should do您可以改为:

^{pr2}$

相关问题 更多 >

    热门问题