構文
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) (PHP 8+)newrelic_notice_error(int $errno, string $errstr, string $errfile, int $errline, string $errcontext) (PHP 7)
これらのコールを使用して、PHP エージェントが自動的に収集しないエラーを収集したり、独自のエラーおよび例外ハンドラのコールバックを設定したりします。
要件
エージェントのバージョン2.6以上
注意
例外 ($e
) を含める場合、使用している PHP バージョンに応じて違いがあります。
- PHP version 5 or lower: 有効な PHP Exceptionクラスを渡す必要があります。
- PHP version 7 or higher: 有効な PHP Throwableインターフェースを渡す必要があります。
説明
PHPエージェントは、サポートされているフレームワークについて、PHPのエラーや例外を 自動的に処理します。 。
自動的に処理されないエラーを収集して 、New Relic でそれらのエラーを クエリし て エラー トレースを表示できるようにする場合は、 newrelic_notice_error
を使用できます。
独自のエラー ハンドラーと例外ハンドラーを使用する場合は、 newrelic_notice_error
をコールバックとして設定できます。
自動的に処理されないエラーの収集
PHP エージェントが自動的に処理しないエラー (PHP 以外のエラーなど) を収集するには、レポートする関数に次の呼び出しを追加します。
newrelic_notice_error(Throwable|Exception $e)
重要
1 つのトランザクション内でこの関数を複数回コールした場合、 PHP エージェントは最後にコールしたときの例外のみを保持します。
独自のエラー・例外ハンドラのコールバックを設定する
独自のハンドラを使用する場合は、これらのコールを使用して、PHPエージェントがハンドラ内からエラーや例外を認識するようにします。
パラメーター
この関数は変数の数を扱うことができます。 ユースケースに応じて、1、4、または 5 を渡すことができます。
newrelic_notice_error(string $message)
パラメータ | 説明 |
---|---|
ストリング | 必要です。 エラートレース で表示されたときに意味のあるエラーメッセージを記入してください。 |
newrelic_notice_error(Throwable|Exception $e)
パラメータ | 説明 |
---|---|
例外 | 必須。デフォルトは
|
PHP7.3 について
newrelic_notice_error(int $errno, string $errstr, string $errfile, int $errline, string $errcontext)
PHP 8.x
newrelic_notice_error(int $errno, string $errstr, string $errfile, int $errline)
パラメータ | 説明 |
---|---|
整数 | 必須。 エラーの事前定義されたレベル 、整数で表されます。 |
ストリング | 必須。 エラー トレースに表示される場合に意味のあるエラー メッセージを入力します。 これを使用して、確認したい追加情報を含めることができます。 |
ストリング | オプションです。エラーが発生したファイルの名前です。 注: この問題はエージェントによって無視されます。エージェントはこの情報を含むスタックト レースを提供します。 |
整数 | オプションです。エラーが発生した行番号です。 注: この問題はエージェントによって無視されます。エージェントはこの情報を含むスタックト レースを提供します。 |
ストリング | オプションです。エラーが発生したときにアクティブだったシンボル・テーブルを指す配列です。 注: エージェントはこの問題を無視します。また、PHP 8 以降ではサポートされていません。 |
戻り値
結果に関係なく 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 version 5.6 or higher: 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 version 5.5 or lower: 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.}