未捕获的异常不会报告给哨兵。
我已经运行了manage.py raven test,并收到了测试消息,以确认通信正常。
我的配置包括:
# 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',
]然后
# wsgi.py
from raven.contrib.django.raven_compat.models import client
client.captureException()发布于 2014-11-11 18:23:44
如docs所示,当出现异常时,应调用client.captureException():
try:
1 / 0
except ZeroDivisionError:
client.captureException()在wsgi.py中,您可以使用should do:
from raven.contrib.django.raven_compat.middleware.wsgi import Sentry
from django.core.handlers.wsgi import WSGIHandler
application = Sentry(WSGIHandler()发布于 2017-12-25 04:39:46
首先你需要硬编码你的DSN,因为它包含重要的信息,然后在django上,我认为最好使用python logging
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 manage.py raven test并共享控制台消息。
https://stackoverflow.com/questions/25494155
复制相似问题