【发布时间】:2016-12-09 01:24:30
【问题描述】:
我正在尝试使用简单的日志记录并希望将错误/异常发送到 Sentry。
我根据文档配置了哨兵并在我的开发人员上成功运行了测试(python manage.py raven test)
我将 Sentry documentation 中的 Logging 配置添加到 Django 设置中
当我将这段代码放在我的视图中时,它根本不起作用
import logging
logger = logging.getLogger(__name__)
logger.error('There was an error, with a stacktrace!', extra={
'stack': True,
})
也许我错过了什么
感谢您的帮助
LOGGING = {
'version': 1,
'disable_existing_loggers': True,
'root': {
'level': 'WARNING',
'handlers': ['sentry'],
},
'formatters': {
'verbose': {
'format': '%(levelname)s %(asctime)s %(module)s '
'%(process)d %(thread)d %(message)s'
},
},
'handlers': {
'sentry': {
'level': 'ERROR', # To capture more than ERROR, change to WARNING, INFO, etc.
'class': 'raven.contrib.django.raven_compat.handlers.SentryHandler',
'tags': {'custom-tag': 'x'},
},
'console': {
'level': 'DEBUG',
'class': 'logging.StreamHandler',
'formatter': 'verbose'
}
},
'loggers': {
'django.db.backends': {
'level': 'ERROR',
'handlers': ['console'],
'propagate': False,
},
'raven': {
'level': 'DEBUG',
'handlers': ['console'],
'propagate': False,
},
'sentry.errors': {
'level': 'DEBUG',
'handlers': ['console'],
'propagate': False,
},
},
}
【问题讨论】:
-
为
LOGGING显示您的settings.py配置。你是什么意思它根本不起作用?请先尝试将您的记录器写入文件 - 请参阅docs.djangoproject.com/ja/1.9/topics/logging/#examples。记录器是否写入文件但不发送到 Sentry? -
我在上面添加了 LOGGING 配置,是的,我可以将日志写入文件但不能发送到哨兵。另一件事,如果我提出错误,那么它将发送到哨兵。
标签: python django logging sentry