Capture erros em seu aplicativo L4

Ei pessoal! Meu nome é Hélder e escrevo de Lisboa, Portugal.

No meu último projeto divide.pt eu não tinha certeza de como lidar com as Exceções (que eventualmente ocorrerão) no servidor de produção, sem ter que fazer SSH e verificar manualmente os logs. Então me deparei com o Airbrake.io , um aplicativo da web para coletar erros do seu aplicativo e organizá-los.

Seguindo em frente … Neste breve artigo, irei cobrir como você pode controlar os erros do seu aplicativo quando ele está em produção .

Para isso, usaremos o incrível aplicativo da web chamado: Airbrake.io .
Uma breve descrição do site:

O Airbrake coleta erros gerados por outros aplicativos e agrega os resultados para análise.

Em primeiro lugar, precisamos de uma conta! Se você não tiver um, vá e pegue um em Airbrake.io . Eles têm muitos planos (incluindo um gratuito ).

Começando

Presumo que você já tenha composerinstalado. Se não for para getcomposer.org .

Primeiro, precisamos adicionar o pacote de composição do Airbrake:

 
"airbrake/airbrake-php": "dev-master",

para nosso composer.jsonarquivo e então composer update.

Observe algo? Não é um pacote de compositor L4 específico. Portanto, não precisamos adicionar os aliases e provedores ao nosso .config/app.php

Agora que temos o pacote em nosso vendordiretório, queremos começar a enviar todas as exceções para o Airbrake.

Vamos criar um arquivo de configuração para nossas credenciais da API Airbrake. No configdiretório, adicione um novo arquivo chamado com o conteúdo:airbrake.php

<?php

return array(
'active' => true,
'API' => 'YOUR-API-KEY',
);

Simples e limpo, certo?

Agora vamos para a raiz do projeto, abra o arquivo e altere a função:start/global.phpApp::error

 

App::error(function(Exception $exception, $code)
{
// keep saving the exception on the log file.
Log::error($exception);

// simple on/off mechanism
if(Config::get('airbrake.active'))
{
$config
= new AirbrakeConfiguration(Config::get('airbrake.API'),
array
(
'async' => true,
'environmentName' => App::environment(),
'url' => Request::url()
));
$client
= new AirbrakeClient($config);
$client
->notifyOnException($exception);
}
});

Airbrake fornece algumas opções de configuração. Verifique em seu repositório GitHub .

Se você não quiser enviar erros de seu ambiente de desenvolvimento, basta adicionar um arquivo com:config/local/airbrake.php

<?php

return array(
'active' => false,
);

certifique-se de ter o ambiente configurado corretamente .

E é isso … simples! 🙂

Se você tiver alguma dúvida deixe nos comentários ou me mande uma mensagem no twitter @cossou !


Hélder