Sintaxis
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)
Utilice estas llamadas para recopilar errores que el agente PHP no recopila automáticamente y para configurar la devolución de llamada para su propio controlador de errores y excepciones.
Requisitos
Versión del agente 2.6 o superior.
Advertencia
Si incluye una excepción ($e
), existen diferencias según la versión de PHP que esté utilizando:
PHP version 5 or lower
: Debe aprobar una clase PHP
Exception
válida.
PHP version 7 or higher
: Debe pasar una interfaz PHP
Throwable
válida.
Descripción
El agente PHP maneja errores y excepciones de PHP automáticamente para el marco compatible.
Si desea recopilar errores que no se manejan automáticamente para poder consultar esos errores en New Relic y ver la traza del error, puede usar newrelic_notice_error
.
Si desea utilizar sus propios controladores de errores y excepciones, puede configurar newrelic_notice_error
como devolución de llamada.
Recopilar errores que no se manejan automáticamente
Para recopilar errores que el agente PHP no maneja automáticamente, como errores que no son de PHP, agregue esta llamada a la función sobre la que desea informar:
newrelic_notice_error(Throwable|Exception $e)
Importante
Cuando hay varias llamadas a esta función en una sola transacción, el agente PHP conserva la excepción de la última llamada únicamente.
Configure la devolución de llamada para su propio controlador de errores y excepciones
Para usar su propio controlador, utilice estas llamadas para asegurarse de que el agente PHP note los errores y excepciones desde su controlador.
Parámetros
Esta función puede manejar un número variable de parámetros. Puede pasar 1 o 5 parámetros, según su caso de uso.
newrelic_notice_error(string $message)
Parámetro | Descripción |
---|---|
cadena | Requerido. Proporcione un mensaje de error que será significativo para usted cuando aparezca un error en la traza. |
newrelic_notice_error(Throwable|Exception $e)
Parámetro | Descripción |
---|---|
excepción | Requerido. El valor predeterminado es
|
newrelic_notice_error(int $errno, string $errstr, string $errfile, int $errline, string $errcontext)
Parámetro | Descripción |
---|---|
entero | Requerido. El nivel predefinido del error, expresado como un número entero. |
cadena | Requerido. Proporcione un mensaje de error que será significativo para usted cuando aparezca un error en la traza. |
cadena | Opcional. El nombre del archivo en el que ocurrió el error. |
entero | Opcional. El número de línea donde ocurrió el error. |
cadena | Opcional. Una matriz que apunta a la tabla de símbolos que estaba activa cuando ocurrió el error. |
Valores de retorno
Devuelve null
independientemente del resultado.
Ejemplos
Recopilar errores que no se manejan automáticamente
Realice un seguimiento de los errores que no se informan automáticamente o que no son errores de PHP. En este ejemplo, se envía un error al agente PHP si un usuario desconocido accede a su aplicación.
try { // Add your code that may throw an error here.} catch (UserNotFoundException $e) { newrelic_notice_error($e); // Handle normally.}
Informar excepciones desde su propio controlador de excepciones
Haga que el agente PHP notifique las excepciones desde su propio controlador de excepciones.
function example_exception_handler($ex) { if (extension_loaded('newrelic')) { newrelic_notice_error($ex); } //Add your code here.}
Informe errores desde su propio controlador de errores (PHP versión 5.6 o superior)
PHP version 5.6 or higher: Haga que el agente PHP note errores desde su propio controlador de errores.
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.}
Informe errores desde su propio controlador de errores (PHP versión 5.5 o inferior)
PHP version 5.5 or lower: Haga que el agente PHP note errores desde su propio controlador de errores.
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.}