Capturando erros em produção no ASP.NET com Rollbar
Fala galera, beleza?!
É muito importante estarmos atentos aos erros que acontecem nas nossas aplicações web quando elas estão em produção e para isso estou usando o Rollbar. Agilize a correção deles antes que o cliente reclame capturando erros em tempo real.
Rollbar
Ele facilita a captura dos erros da sua aplicação de uma forma muito simples. Ele tem um plano gratuito que aceita até 5.000 registros de erro por mês, é um número bem flexível, até agora não precisei pagar. Além disso ele tem varias integrações, como por exemplo o Trello, e é claro que ele também tem integração com o GitHub.
Conheça o site deles.
Segue uma imagem abaixo do projeto de exemplo deles, e você pode acessar ele por aqui.
Coisas legais do Rollbar
- Na tela inicial do Rollbar, você tem acesso aos erros em tempo real!!!
- Você pode separar seus ambientes, como por exemplo: “produção” e “desenvolvimento”.
- Você pode pedir para ele enviar email quando um novo erro acontecer.
- Você pode pedir para ele enviar email quando um erro acontecer pela décima vez.
- Você pode fazer um “reply” da requisição, ou seja, ele guarda todos os dados da requisição, e você pode pedir para ele refazer a requisição, isso é muito legal!!!
- É possível também informar qual o usuário que está vinculado aquele erro, e tirar relatórios sobre isso.
- Ele tem o seu próprio “SQL” o “RQL” que você pode usar para fazer consultas de uma forma bem flexível.
Além de varias outras coisas legais.
Agora vamos ver como é simples usar ele em um projeto ASP.NET.
Aplicando Rollbar
Obs.: Vou assumir que você já criou a sua conta!!! Se você ainda não criou, crie aqui
Instalando o pacote nuget
Install-Package RollbarSharp
Configurando AccessToken
O modo mais fácil de configuração desses dados é usando o app.config ou web.config.
No Web.config adicione as seguintes configurações:
[gist id=8c11af6cb65f775e42d4 file=Web.config]
No Web.Release.config
[gist id=8c11af6cb65f775e42d4 file=Web.Release.config]
Criando o ASP.NET Filter para MVC
[gist id=8c11af6cb65f775e42d4 file=RollbarMvcExceptionFilter.cs]
E então no App_Start\FilterConfig.cs
você adiciona a seguinte linha
[gist id=8c11af6cb65f775e42d4 file=FilterConfig.cs]
Se o projeto usar Ninject então é possível injetar o filtro dessa maneira:
[gist id=8c11af6cb65f775e42d4 file=Ninject.cs]
Criando o ASP.NET Filter para WebApi
[gist id=8c11af6cb65f775e42d4 file=RollbarWebApiExceptionFilter.cs]
E então no App_Start\WebApiConfig.cs
você adiciona a seguinte linha
[gist id=8c11af6cb65f775e42d4 file=WebApiConfig.cs]