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
プロパティを使用することができます。ただし、python manage.py raven test
図のように ここ が得られます:
raven.exceptions.InvalidDsn: Unsupported Sentry DSN scheme: ()
最善の解決策は、Ravenクライアントを常に使用でき、設定ファイルが例外を送信するかどうかを定義することです。
もう1つの要件は、Client
モジュールを使用して例外をキャプチャすることです。このために 設定する必要があります some DSN
値:
from raven import Client
client = Client('https://<key>:<secret>@app.getsentry.com/<project>')
したがって、DSN
値を設定しないことはできません。
ドキュメンテーションは、haveを設定してDSN
の値を設定しているとは言いませんでした。設定例はhowだけです。
_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)
_
ここでは、空の文字列DSNプロパティのみを使用できることを読みます。
DSN
を空の文字列に設定するのではなく、開発設定の構成で最初にDSN
設定を指定しないでくださいに設定する必要があります。
RAVEN_CONFIG = {}