2016-05-17 2 views
2

呼び出された例外がcall-stackのルートで捕捉されたとき、私はSentryのcall-stackのすべてのレベルでコンテキスト全体を見ることができます。raven/sentryのコンテキストで完全なコールスタックを記録するにはどうすればいいですか?

しかし、captureMessage()を使用すると、Sentryでコンテキストが表示されません。

私が以下のコードのようにcaptureException()を使用すると、私は呼び出しスタックの先頭だけを見ることができます。言い換えれば

try: 
    raise Exception('Breakpoint!') 
except: 
    raven_client.captureException() 

私は歩哨でフルスタックトレースおよびコンテキストで記録されたメッセージを見てみたいです。

答えて

4

ザPythonのSDKはcaptureMessageにstack=Trueを通過させることにより、任意のスタックトレースを捕捉する能力を有する。

raven_client = Client(..., auto_log_stacks=True) 
:クライアントを構成する際にオンすることができ、さらに auto_log_stacks値があり

raven_client.captureMessage('hello world', stack=True) 

注意:スタックを自動的に記録するのは便利ですが、一般的な状況では正確な保証はありません。 inspect.stack()に絶えず電話をかけなければならないので、それはマイナーなものだが、パフォーマンスヒットだ。

関連する問題