我有一个工作正常的哨兵服务器。
raven test <dnstoserver> -> Sending a test message... success!
我有一台带有 django 1.3 和 raven 1.93 的开发机器。在 django 项目中,我有这个:
设置.py:
SENTRY_KEY=<secretkey>
SENTRY_DNS=<dnstoserver>
INSTALLED_APPS = (
'bar',
'foo',
'raven.contrib.django',
)
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',
'class': 'raven.contrib.django.handlers.SentryHandler',
},
'console': {
'level': 'DEBUG',
'class': 'logging.StreamHandler',
'formatter': 'verbose'
}
},
'loggers': {
'django.db.backends': {
'level': 'ERROR',
'handlers': ['console'],
'propagate': False,
},
'raven': {
'level': 'DEBUG',
'handlers': ['console', 'sentry'],
'propagate': False,
},
},
}
注意 installed_apps 中没有“哨兵”。这是故意的,因为哨兵是服务器,不应该在客户端上!
views.py(在视图中):
import logging
logger = logging.getLogger("raven")
logger.error("test")
当我运行视图时,我进入控制台:
No servers configured, and sentry not installed. Cannot send message
为什么,以及如何解决?