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 composer
instalado. 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.json
arquivo 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 vendor
diretó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 config
diretó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.php
App::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