我们正在运行Django服务器并使用Sentry捕获异常。配置Sentry后,我们会添加RAVEN_CONFIG
个不同的settings.py
个文件:
INSTALLED_APPS = (
'raven.contrib.django.raven_compat'
)
RAVEN_CONFIG = {
'dsn': 'https://*****@app.getsentry.com/PORT_NUMBER',
}
我们读到here我们可以使用空字符串DSN
属性。虽然我们按照here的描述运行python manage.py raven test
,但我们得到了:
raven.exceptions.InvalidDsn: Unsupported Sentry DSN scheme: ()
最好的解决方案是我们可以始终使用Raven客户端,设置文件将定义是否发送异常。
另一个要求是我们希望使用Client
模块并捕获异常。对于此we have to set某些DSN
值:
from raven import Client
client = Client('https://<key>:<secret>@app.getsentry.com/<project>')
因此,无法设置DSN
值
答案 0 :(得分:19)
我们在这里读到我们可以使用空字符串DSN属性。
您不应该将DSN
设置为空字符串,而是在开发设置中配置首先不要指定DSN
设置:
RAVEN_CONFIG = {}
答案 1 :(得分:8)
文档没有说你有设置DSN
值,只有一个例子如何来设置它。
In [1]: from raven import Client
In [2]: client = Client()
Raven is not configured (logging is disabled). Please see the documentation for more information.
In [3]: client.captureMessage('hello') # it's a noop - no error, no capture.
重要的是要注意,您应该将None
(或根本没有)作为DSN
参数传递而不是空字符串,否则会引发InvalidDsn: Unsupported Sentry DSN scheme
。
此外,如果您不喜欢日志中的Raven is not configured (logging is disabled)...
,则可以将其静音:
>>> import logging
>>> logging.getLogger('raven').setLevel(logging.WARNING)