2016-03-09 18 views
14

Djangoサーバーを実行しており、Sentryを使用して例外をキャプチャしています。私たちは歩哨を設定するとき、私たちは私たちのRAVEN_CONFIG異なるsettings.pyファイルを追加:例外を送信せずに動作するように、開発環境でSentry ravenクライアントを設定するにはどうすればよいですか?

INSTALLED_APPS = (
    'raven.contrib.django.raven_compat' 
) 

RAVEN_CONFIG = { 
    'dsn': 'https://*****@app.getsentry.com/PORT_NUMBER', 
} 

を私たちはちょうど空の文字列DSNプロパティを使用することができますhereをお読みください。私たちが描かhereとしてpython manage.py raven testを実行したときけれども、我々が得る:

raven.exceptions.InvalidDsn: Unsupported Sentry DSN scheme: () 

最善の解決策は、我々は常に例外が送信されているか否かを定義するレイヴンクライアントと設定ファイルを使用することができることでしょう。

もう1つの要件は、Clientモジュールを使用して例外を捕捉することです。このwe have to setのためにいくつかのDSN値:

from raven import Client 
client = Client('https://<key>:<secret>@app.getsentry.com/<project>') 

だから DSN値を設定していないが

答えて

7

ドキュメントは言わなかったがあなた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. 

それはそれ以外の場合はInvalidDsn: Unsupported Sentry DSN schemeを発生させ、あなたがDSNパラメータではなく、空の文字列としてNone(またはすべてで何を)渡す必要があることに注意することが重要です。また

、あなたのログにそのRaven is not configured (logging is disabled)...を好きではない場合、あなたはそのようにそれをミュートすることができます。

>>> import logging 
>>> logging.getLogger('raven').setLevel(logging.WARNING) 
11

私たちはちょうど空の文字列のDSNプロパティを使用することができることをここで読むことができません。

あなたが最初の場所でを設定 DSN指定されていないが、代わりにあなたの開発設定の設定 では、空の文字列にDSNを設定すべきではない

RAVEN_CONFIG = {} 
+0

Edittedこれが不可能である理由を説明するための質問。 TL; DR - 初期化時にDSNを必要とするPython raven Clientモジュールを使用したい –

関連する問題