Sintaxe
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)
Use essas chamadas para coletar erros que o agente PHP não coleta automaticamente e para definir o retorno de chamada para seu próprio manipulador de erros e exceções.
Requisitos
Versão do agente 2.6 ou superior.
Cuidado
Se você incluir uma exceção ($e
), haverá diferenças dependendo da versão do PHP que você estiver usando:
- PHP version 5 or lower: você deve passar uma classe PHP Exception válida.
- PHP version 7 or higher: Você deve passar uma interface PHP Throwable válida.
Descrição
O agente PHP trata erros e exceções de PHP automaticamente para a estrutura suportada.
Se você deseja coletar erros que não são tratados automaticamente para poder consultá -los no New Relic e visualizar o rastreamento de erros, você pode usar newrelic_notice_error
.
Se quiser usar seus próprios manipuladores de erros e exceções, você pode definir newrelic_notice_error
como retorno de chamada.
Colete erros que não são tratados automaticamente
Para coletar erros que o agente PHP não trata automaticamente, como erros não-PHP, adicione esta chamada à função que você deseja relatar:
newrelic_notice_error(Throwable|Exception $e)
Importante
Quando há múltiplas chamadas para esta função em uma única transação, o agente PHP retém a exceção apenas da última chamada.
Defina o retorno de chamada para seu próprio manipulador de erros e exceções
Para usar seu próprio manipulador, use essas chamadas para garantir que o agente PHP perceba os erros e exceções de seu manipulador.
Parâmetro
Esta função pode manipular um número variável de parâmetros. Você pode passar 1, 4 ou 5 parâmetros, dependendo do seu caso de uso.
newrelic_notice_error(string $message)
Parâmetro | Descrição |
---|---|
corda | Obrigatório. Forneça uma mensagem de erro que será significativa para você quando for exibida no rastreamento de erros. |
newrelic_notice_error(Throwable|Exception $e)
Parâmetro | Descrição |
---|---|
exceção | Obrigatório. O padrão é
|
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)
Parâmetro | Descrição |
---|---|
inteiro | Obrigatório. O nível predefinido do erro, expresso como um número inteiro. |
corda | Obrigatório. Forneça uma mensagem de erro que seja significativa para você quando exibida no rastreamento de erros. Isso pode ser usado para incluir informações adicionais que você gostaria de ver. |
corda | Opcional. O nome do arquivo em que ocorreu o erro. OBSERVAÇÃO: Este parâmetro é ignorado pelo agente - o agente fornecerá um stack trace com esta informação. |
inteiro | Opcional. O número da linha onde ocorreu o erro. OBSERVAÇÃO: Este parâmetro é ignorado pelo agente - o agente fornecerá um stack trace com esta informação. |
corda | Opcional. Uma matriz que aponta para a tabela de símbolos que estava ativa quando ocorreu o erro. OBSERVAÇÃO: O agente ignora esse parâmetro e ele não é suportado pelo PHP 8+. |
Valores de retorno
Retorna null
independentemente do resultado.
Exemplos
Colete erros que não são tratados automaticamente
Rastreie erros que não são relatados automaticamente ou que não são erros de PHP. Neste exemplo, um erro é enviado ao agente PHP se um usuário desconhecido acessar seu aplicativo.
try { // Add your code that may throw an error here.} catch (UserNotFoundException $e) { newrelic_notice_error($e); // Handle normally.}
Relatar exceções do seu próprio manipulador de exceções
Faça o agente PHP notar exceções de dentro do seu próprio manipulador de exceções.
function example_exception_handler($ex) { if (extension_loaded('newrelic')) { newrelic_notice_error($ex); } //Add your code here.}
Relate erros do seu próprio manipulador de erros (PHP versão 5.6 ou superior)
PHP version 5.6 or higher: Faça com que o agente PHP perceba erros dentro do seu próprio manipulador de erros.
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.}
Relate erros do seu próprio manipulador de erros (PHP versão 5.5 ou inferior)
PHP version 5.5 or lower: Faça com que o agente PHP perceba erros dentro do seu próprio manipulador de erros.
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.}