問題タブ [raven]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
python - Django 歩哨のデフォルト タグ
私は python-raven を使用して、django プロジェクトで 500 個すべてを自動的にキャプチャしていますが、うまく機能します。また、私が処理するいくつかの例外を転送し、フィルターで除外できるように特別なタグを追加します。問題は、特定のタグが欠落しているメッセージをフィルタリングできないため、すべてのメッセージにデフォルトのタグを設定したいのですが、機能しないことです。
次のことを試しましたが、無視されました。
デフォルトのタグをセントリーに送信する方法を知っている人はいますか?
python - Django settings.py で DEBUG = False の場合、Raven/Sentry が機能しない
Django 1.5.5 アプリケーションを監視するために Sentry(6.3.2)/Raven(3.5.1) をインストールしました。ただし、False に設定すると、Sentry にエラー メッセージが届かなくなります。私のRavenアプリケーションは、「python manage.py raven test」でテストすると確実に動作します(Djangoをデバッグモードで実行したときに表示されるエラーメッセージに加えて)。Sentry は私の Django アプリケーションとは異なる仮想環境で実行され、どちらも Nginx リバース プロキシを介して実行されます。私はpython 2.6を実行しています。
私のsettings.pyは次のようになります:
そして私の sentry.conf.py は次のようになります:
Django でデバッグ モードでないときに Raven/Sentry を実行するにはどうすればよいですか?
ご協力いただきありがとうございます。
更新:デバッグモードがオフの場合でも、Sentry で"SuspiciousOperation: Invalid HTTP _ HOST header (you may need to set ALLOWED _ HOSTS) " エラーメッセージが表示さ れることを追加したかっただけです。
これらのメッセージの大部分は、ALLOWED_HOSTS リストから以前のドメインの 1 つを削除したにもかかわらず、ボットがまだそのドメインを探しているという事実から来ています。
明確にするために、非デバッグモードで受信していないメッセージは、コードに「assert False」を入れるか、ランダムな文字列を入力してエラーをスローするメッセージです。
python - ローカルの Django サーバーが Sentry サーバーにリダイレクトされる
以前はセロリと一緒にローカルのdjangoサーバーをセットアップしていました127.0.0.1
(コマンドを実行するときにポートを調整できましたpython manage.py runserver <port>
)。
次に、アプリ用に Sentry をセットアップしたいと思いました。これを行うためのクイックスタートの指示に従いました。これは私が私の中で修正したものですsentry.conf.py
そして、これは私が私の中で修正したものですsettings.py
疑わしいヘッダーのために失敗するALLOWED_HOSTS = ['*']
ため、追加する必要がありました。そうしないと、いくつかのセントリー変数が設定されていないレイヴンでエラーが発生するため、python manage.py raven test
追加する必要がありました。from sentry.conf.sever import *
Sentry をセットアップしたら、 からアクセスできるようになりました127.0.0.1:9000
。
しかし、django アプリにアクセスできません。127.0.0.1:8000 にアクセスするたびに、sentry ログインにリダイレクトされます (ポート 9000 ではないため、ログイン後に内部サーバー エラーが発生します)。また、コンソールからログを見ると、ファイルの最後にSuspiciousOperation: Invalid HTTP_POST header
配置しないとエラーが表示されます。ALLOWED_HOSTS = ['*']
settings.py
django アプリと Sentry の両方を同じ IP (localhost) と異なるポートでローカルに実行するにはどうすればよいですか?
python - パイソン カラス。フレームの一部を送信
私たちのプロジェクトでは、raven はメッセージの作成と Sentry への送信に多くの時間を要します。フレームに関するデータを作成するための多くの時間コストを調べましたが、すべてのフレームに関するデータが頻繁に必要になるわけではありません。例外またはエラーのあるフレームの前の最後の2〜3フレームだけでなく、すべてのフレームに関するデータを作成し、レイヴンによって歩哨に送信する方法はありますか。または、メッセージレベルで依存関係の完全なスタック/部分的なスタックを作成することは可能ですか? つまり、重大または例外またはエラー レベルでは完全なスタックを送信し、デバッグまたは警告レベルではフレームの一部のみを送信します。
python - セロリタスクからの例外ログの重複を防ぐ方法
2番目の編集:少し掘り下げた後、ローカル変数を使用して例外をログに記録する方法から、セロリがローカル変数を持たない2番目のログメッセージを送信しないようにする方法に質問が変わりました。以下の試行の後、私は常に 2 つのメールを受信していることに実際に気付きました。
最初の編集:カスタムの on_failure オーバーライドを追加することで、ローカル変数を取得することができました (すべてのタスクに次のような注釈を使用します:
しかし、現在の問題は、エラーが3回発生することです.1回はセロリロガーを介して、2回はルートを介して発生します(ただし、ログ設定で「セロリ」ロガーを伝播していません)
元の質問: 私は最近、レベル「エラー」のルート ロガーとしてセントリー ハンドラーを追加した django/celery プロジェクトを持っています。これは、セロリワーカーからのものを除いて、django で発生するほとんどのエラーと例外に対して正常に機能します。
何が起こるかというと、セントリーはトレースバックとデーモンのローカルで例外を受け取りますがf_locals
、スタック内の各フレームの (ローカル変数) を含みません。そして、これらは通常の python/django 例外に表示されます。
すべての例外をキャッチして、手動で exc_info をログに記録することができると思います。しかし、これは理想的とは言えません。
javascript - _oldOnerrorHandler は定義されていません。if ステートメントがまだ実行されている
カラスがいるページがあります。URL はスクリーンショットで確認できますが、無関係です。
Sentry (raven エラーがログに記録されるサービス) では、未定義の関数の呼び出しに関連する数千のエラーが表示され、このブレークポイントに至りました。
スクリーンショットから、変数_oldOnerrorHandler
は未定義です。この時点では、監視されている式_oldOnerrorHandler
と_oldOnerrorHandler
変数の両方が未定義です。したがって、この行if (_oldOnerrorHandler)
は決して実行されません。
上記のスクリーンショットは、if ステートメントの内容が実際に実行されていることを示しており、これは_oldOnerrorHandler
偽りではないことを意味します。JavaScript でこれがどのように可能であり、このエラーを防ぐためにどのような解決策が考えられますか?
javascript - 名前空間内にあるエラーのみをキャプチャします
定義された名前空間内にないエラーを無視するようにraven-jsを構成することは可能ですか?
したがってFoo.raiseWithinNamespace
、キャプチャされ、raiseOutOfNameSpace
無視されます。