Syntaxe
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)
Utilisez ces appels pour collecter les erreurs que l'agent PHP ne collecte pas automatiquement et pour définir le rappel de votre propre gestionnaire d'erreurs et d'exceptions.
Exigences
Version de l'agent 2.6 ou supérieure.
Prudence
Si vous incluez une exception ($e
), il existe des différences selon la version PHP que vous utilisez :
- PHP version 5 or lower: Vous devez transmettre une classe PHP Exception valide.
- PHP version 7 or higher: Vous devez transmettre une interface PHP Throwable valide.
Description
L' agent PHP gère automatiquement les erreurs et les exceptions PHP pour les frameworks pris en charge.
Si vous souhaitez collecter les erreurs qui ne sont pas traitées automatiquement afin de pouvoir interroger ces erreurs dans New Relic et afficher la trace des erreurs, vous pouvez utiliser newrelic_notice_error
.
Si vous souhaitez utiliser vos propres gestionnaires d’erreurs et d’exceptions, vous pouvez définir newrelic_notice_error
comme rappel.
Collecter les erreurs qui ne sont pas traitées automatiquement
Pour collecter les erreurs que l'agent PHP ne gère pas automatiquement, telles que les erreurs non PHP, ajoutez cet appel à la fonction que vous souhaitez signaler:
newrelic_notice_error(Throwable|Exception $e)
Important
Lorsqu'il y a plusieurs appels à cette fonction dans une seule transaction, l'agent PHP conserve uniquement l'exception du dernier appel.
Définissez le rappel pour votre propre gestionnaire d'erreurs et d'exceptions
Pour utiliser votre propre gestionnaire, utilisez ces appels pour vous assurer que l'agent PHP remarque les erreurs et les exceptions dans votre gestionnaire.
Paramètres
Cette fonction peut gérer un nombre variable de paramètres. Vous pouvez transmettre 1, 4 ou 5 paramètres, selon votre cas d'utilisation.
newrelic_notice_error(string $message)
paramètres | Description |
---|---|
chaîne | Requis. Fournissez un message d'erreur qui sera significatif pour vous lorsqu'il s'affichera dans la trace d'erreur. |
newrelic_notice_error(Throwable|Exception $e)
paramètres | Description |
---|---|
exception | Requis. La valeur par défaut est
|
PHP 7.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)
paramètres | Description |
---|---|
entier | Requis. Le niveau prédéfini de l'erreur, exprimé sous forme d'entier. |
chaîne | Requis. Fournissez un message d'erreur qui sera significatif pour vous lorsqu'il s'affichera dans la trace d'erreur. Cela peut être utilisé pour inclure des informations supplémentaires que vous aimeriez voir. |
chaîne | Facultatif. Le nom du fichier dans lequel l'erreur s'est produite. REMARQUE : ce paramètre est ignoré par l' agent - l' agent fournira une trace d'appels avec ces informations. |
entier | Facultatif. Le numéro de ligne où l'erreur s'est produite. REMARQUE : ce paramètre est ignoré par l' agent - l' agent fournira une trace d'appels avec ces informations. |
chaîne | Facultatif. Un éventail qui pointe vers la table des symboles qui était active lorsque l'erreur s'est produite. REMARQUE : l'agent ignore ce paramètre - et il n'est pas pris en charge avec PHP 8+. |
Valeurs de retour
Renvoie null
quel que soit le résultat.
Exemples
Collecter les erreurs qui ne sont pas traitées automatiquement
Suivez les erreurs qui ne sont pas signalées automatiquement ou qui ne sont pas des erreurs PHP. Dans cet exemple, une erreur est envoyée à l'agent PHP si un utilisateur inconnu accède à votre application.
try { // Add your code that may throw an error here.} catch (UserNotFoundException $e) { newrelic_notice_error($e); // Handle normally.}
Signaler les exceptions à partir de votre propre gestionnaire d'exceptions
Faites en sorte que l'agent PHP détecte les exceptions à partir de votre propre gestionnaire d'exceptions.
function example_exception_handler($ex) { if (extension_loaded('newrelic')) { newrelic_notice_error($ex); } //Add your code here.}
Signaler les erreurs depuis votre propre gestionnaire d'erreurs (version PHP 5.6 ou supérieure)
PHP version 5.6 or higher:Faites en sorte que l'agent PHP détecte les erreurs à partir de votre propre gestionnaire d'erreurs.
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.}
Signaler les erreurs depuis votre propre gestionnaire d'erreurs (version PHP 5.5 ou inférieure)
PHP version 5.5 or lower:Faites en sorte que l'agent PHP détecte les erreurs à partir de votre propre gestionnaire d'erreurs.
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.}