構文
newrelic_notice_error(string $message)newrelic_notice_error(Throwable|Exception $e)newrelic_notice_error(string $errstr, Throwable|Exception $e)newrelic_notice_error(int $errno, string $errstr, string $errfile, int $errline, string $errcontext)
これらのコールを使用して、PHP エージェントが自動的に収集しないエラーを収集したり、独自のエラーおよび例外ハンドラのコールバックを設定したりします。
要件
エージェントのバージョン2.6以上
注意
例外 ($e
) を含める場合、使用している PHP バージョンに応じて違いがあります。
- PHP バージョン 5 以下: 有効な PHP 例外 クラスを渡す必要があります。
- PHP バージョン 7 以上: 有効な PHP Throwable インターフェースを渡さなければなりません。
説明
PHPエージェントは、サポートされているフレームワークについて、PHPのエラーや例外を 自動的に処理します。 。
自動的に処理されないエラーを収集して 、New Relic でそれらのエラーを クエリし て エラー トレースを表示できるようにする場合は、 newrelic_notice_error
を使用できます。
独自のエラー ハンドラーと例外ハンドラーを使用する場合は、 newrelic_notice_error
をコールバックとして設定できます。
自動的に処理されないエラーの収集
PHP エージェントが自動的に処理しないエラー (PHP 以外のエラーなど) を収集するには、レポートする関数に次の呼び出しを追加します。
newrelic_notice_error(Throwable|Exception $e)
重要
1 つのトランザクション内でこの関数を複数回コールした場合、 PHP エージェントは最後にコールしたときの例外のみを保持します。
独自のエラー・例外ハンドラのコールバックを設定する
独自のハンドラを使用する場合は、これらのコールを使用して、PHPエージェントがハンドラ内からエラーや例外を認識するようにします。
パラメーター
この機能では、可変のパラメータを扱うことができます。ユースケースに応じて、1つまたは5つのパラメータを渡すことができます。
newrelic_notice_error(string $message)
パラメータ | 説明 |
---|---|
ストリング | 必要です。 エラートレース で表示されたときに意味のあるエラーメッセージを記入してください。 |
newrelic_notice_error(Throwable|Exception $e)
パラメータ | 説明 |
---|---|
例外 | 必須。デフォルトは
|
newrelic_notice_error(int $errno, string $errstr, string $errfile, int $errline, string $errcontext)
パラメータ | 説明 |
---|---|
整数 | 必須。 エラーの事前定義されたレベル 、整数で表されます。 |
ストリング | 必要です。 エラートレース で表示されたときに意味のあるエラーメッセージを記入してください。 |
ストリング | オプションです。エラーが発生したファイルの名前です。 |
整数 | オプションです。エラーが発生した行番号です。 |
ストリング | オプションです。エラーが発生したときにアクティブだったシンボル・テーブルを指す配列です。 |
戻り値
結果に関係なく null
を返します。
例
自動的に処理されないエラーの収集
自動的に報告されないエラーや、PHPエラーではないエラーを追跡します。この例では、未知のユーザーがアプリにアクセスした場合に、PHPエージェントにエラーが送信されます。
try { // Add your code that may throw an error here.} catch (UserNotFoundException $e) { newrelic_notice_error($e); // Handle normally.}
独自の例外ハンドラからの例外の報告
PHPエージェントが独自の例外ハンドラ内で例外を通知するようにします。
function example_exception_handler($ex) { if (extension_loaded('newrelic')) { newrelic_notice_error($ex); } //Add your code here.}
独自のエラーハンドラーからのエラー報告(PHPバージョン5.6以上)
PHP バージョン 5.6 以上: PHP エージェントが独自のエラーハンドラ内でエラーを通知するようにします。
function example_error_handler($errno, $errstr, $errfile = null, $errline = null, $errcontext = null) { if (extension_loaded('newrelic')) { newrelic_notice_error(...func_get_args()); } //Add your code here.}
独自のエラーハンドラーからのエラー報告(PHPバージョン5.5以下)
PHPバージョン5.5以下: PHPエージェントが独自のエラーハンドラの中からエラーを通知するようにする。
function example_error_handler($errno, $errstr, $errfile = null, $errline = null, $errcontext = null) { if (extension_loaded('newrelic')) { call_user_func_array('newrelic_notice_error', func_get_args()); } //Add your code here.}