Capturando erros em produção no ASP.NET com Rollbar

Alberto Monteiro
albertomonteiro
Published in
2 min readFeb 23, 2015

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.

Rollbar Demo

Coisas legais do Rollbar

  1. Na tela inicial do Rollbar, você tem acesso aos erros em tempo real!!!
  2. Você pode separar seus ambientes, como por exemplo: “produção” e “desenvolvimento”.
  3. Você pode pedir para ele enviar email quando um novo erro acontecer.
  4. Você pode pedir para ele enviar email quando um erro acontecer pela décima vez.
  5. 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!!!
  6. É possível também informar qual o usuário que está vinculado aquele erro, e tirar relatórios sobre isso.
  7. 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]

--

--