• EnglishEspañol日本語한국어Português
  • ログイン今すぐ開始

この機械翻訳は参考用に提供されます。

英語版と翻訳版に矛盾がある場合は、英語版が優先されます。詳細については、このページ を参照してください。

問題を作成する

notice_error (PythonエージェントAPI)

構文

newrelic.agent.notice_error(error=None, attributes={}, expected=None, ignore=None, status_code=None, application=None)

Pythonの例外の詳細をエラーとして記録します。

説明

デフォルトでは、Pythonエージェントは未処理の例外のみを報告します。 notice_errorを使用して、Python例外をエラーとして記録します。これは、UIで確認できます。パラメーターが指定されていない場合、現在処理されている例外の詳細が使用されます。

トランザクションごとに最大5つの異なる例外を記録することができます。 また、 ハーベストサイクルごとにすべてのトランザクションの合計で最大20の例外を記録することができます。

監視対象のWeb要求またはバックグラウンドタスクのコンテキスト内でnotice_error()が呼び出されると、要求またはタスクが報告されているアプリケーションに対して例外の詳細が報告されます。

監視対象のWeb要求またはバックグラウンドタスクのコンテキスト外で呼び出された場合、 applicationキーワード引数が指定され、例外が記録されるアプリケーションに対応するアプリケーションオブジェクトが指定されない限り、呼び出しは無視されます。 newrelic.agent.application()関数を使用して、適切なアプリケーションオブジェクトを取得できます。

パラメーター

ヒント

ほとんどすべての場合、 notice_errorはパラメータを必要としません。

パラメータ

説明

error

タプル

オプションですが、ほとんど使用されません。 sys.exc_info()から返された例外情報 (exception_class, exception_instance, traceback) を含むタプル。

attributes

ディクト

オプション。エラー イベントに追加するカスタム属性 (トランザクションに既に追加されているカスタム属性に加えて)。高セキュリティ モードが有効になっている場合、これは機能しません。

expected

booleaniterable[String]callable(exception_class, exception_instance, traceback)->boolean

オプション。期待どおりにマークするエラーは、 module:classの形式の反復可能な文字列として渡すことができます。この値は、呼び出し可能またはエラーが予期されるかどうかを示すブール値にすることもできます。これらのエラーはUIに報告されますが、Apdexスコアやエラー率には影響しません。

ignore

booleaniterable[String]callable(exception_classexception_instance, traceback)->boolean

オプション。無視するエラーは、 module:classの形式の反復可能な文字列として渡すことができます。この値は、呼び出し可能またはエラーを無視するかどうかを示すブール値にすることもできます。特定の種類の例外を常に無視し、記録しないようにする必要がある場合に便利です。

status_code

stringintegercallable(例外クラス、例外インスタンス、トレースバック)

オプション。例外ステータス コード。この値は、文字列、整数、または sys.exc_info() から返された例外情報 (exception_class, exception_instance, traceback) を受け取り、ステータス コードを整数として返す呼び出し可能なものにすることができます。

application

アプリケーションオブジェクト

オプション。監視対象のWeb要求またはバックグラウンドタスクのコンテキスト外で呼び出された場合、 applicationオブジェクトが提供されない限り、呼び出しは無視されます。

戻り値

なし。

例外の報告の簡単な例

大半の場合、パラメータを渡す必要はありません。例外を報告したい場所で次のように呼べばよいのです。

newrelic.agent.notice_error()

booleanを使った例

ブール値を使用したnotice_errorの例。これは、エラーが予想されることを示しています。

newrelic.agent.notice_error(expected=True)

sys.exc_info()タプルと追加パラメータを用いたコール

sys.exc_info()データを使用したnotice_errorの例:

def complex_ignore_errors(exc, val, tb):
# do some logic here
return False
newrelic.agent.notice_error(attributes={'my_special_exception': True}, ignore=complex_ignore_errors)

コールバックの使用例

特定の例外タイプの属性に基づいて例外を動的にフィルタリングする必要がある場合は、コールバック関数を指定できます。

def _ignore_errors(exc, value, tb):
if instance(value, HTTPError):
if value.status == 404:
return True
newrelic.agent.notice_error(ignore=_ignore_errors)

例外を無視するか期待する場合は、呼び出し可能オブジェクトの戻り値を Trueに設定します。他のチェックに関係なく、例外が決して無視されない/予期される場合は False を返し、後続のチェックと組み込みルールによって例外が無視される/予期されるかどうかを決定する必要がある場合は None を返します。コールバックは通常、 True または Noneを返します。

Copyright © 2024 New Relic株式会社。

This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.