Tratando erros com Elmah no ASP.NET MVC (parte 4 – Filtros)

Olá galera,

Nesta 4ª parte do tema ELMAH, vamos ver o recurso de filtros (ErrorFiltering), ou seja, como podemos evitar que determinados tipos de erros não sejam logados pelo ELMAH.

Para isso, vamos usar como exemplo os conhecidos erros 404 (File Not Found). Se vocês começaram a brincar com o ELMAH, criando uma WebApp do zero e colocando o ELMAH para funcionar, devem ter notado que ele registra o erro 404 para o arquivo “favicon.ico” (obviamente se você não tiver adicionado este ícone na app 🙂 ).

Da mesma forma, para qualquer outro arquivo inexistente referenciado em nossas páginas, tais como .css, .js e imagens, o ELMAH registrará o erro 404, além, é claro, de endereços incorretos na URL.

Para evitar o log de erros 404, vamos usar um filtro, que é uma forma de dizer para o ELMAH ignorar determinado tipo de erro.

Podemos fazer isso tanto declarativamente via web.config como programaticamente.

Veremos como fazer das duas formas. Continue lendo »

Anúncios

Tratando erros com Elmah no ASP.NET MVC (parte 3 – Segurança)

De volta das festas de fim de ano (Feliz 2012 a todos!) e continuando com assunto ELMAH (partes 1 e 2, aqui e aqui), neste post falarei como proteger o acesso ao log gerado por ele.

O primeiro fator relacionado à segurança é a permissão de acesso remoto ao log. Caso queira evitar que o endereço do log seja acessado remotamente, basta explicitar isso no web.config, dentro da tag <elmah>:

<elmah>
    <security allowRemoteAccess="no"/>
</elmah>

Continue lendo »

Tratando erros com Elmah no ASP.NET MVC (parte 2 – HandleError)

Olá pessoal

Este post é continuação do anterior sobre o ELMAH (leia a parte 1 aqui).

Vamos ver como utilizar o ELMAH em conjunto com HandleErrorAttribute, que é utilizado para capturar exceções não tratadas e exibir uma página amigável de erro.

Com o uso do HandleError e o <customErrors> do web.config em modo “On”, as exceções disparadas pela app NÃO serão logadas pelo ELMAH, uma vez que o HandleError já terá capturado-as e mostrado a view de erro especificada no <customErrors>.

Uma solução bem simples para isso é usarmos um filter global para logarmos manualmente as exceções pelo ELMAH.
Continue lendo »

Tratando erros com Elmah no ASP.NET MVC (parte 1 – Configuração)

Olá pessoal. I’m back!

Sabemos que toda aplicação que se preze deve ter algum tipo de log de erros, para que possamos visualizar todas as exceções não tratadas pela aplicação e corrigí-las o mais rápido possível.

Neste post vou mostrar como é bem simples logar erros em uma aplicação ASP.NET MVC utilizando o ELMAH (Error Logging Modules and Handlers), um ótimo componente para este fim, com uma série de recursos e compatível com ASP.NET MVC e ASP.NET WebForms. Dê uma olhada na página oficial.

No exemplo, mostrarei a instalação do ELMAH via NuGet e sua configuração para logar os erros em arquivos XML. (O ELMAH também dá suporte aos principais bancos de dados do mercado.)
Continue lendo »