Pergunta

Estou usando o Elmah para lidar com as exceções no meu projeto ASP.NET MVC. Gostaria de usá -lo para registrar erros, como tempo limite de conexão do banco de dados, tempo limite da consulta e outros. Isso é possível com Elmah?

Foi útil?

Solução

Se você deixar a exceção propogar para o módulo da Web Elmah, ele registrará automaticamente essas exceções.

No entanto, você pode registrar programaticamente diretamente para Elmah, existem algumas maneiras de fazer isso:

Você pode usar o código como este na sua cláusula de captura no código:

try{....}
catch(Exception ex) { Elmah.ErrorSignal.FromCurrentContext().Raise(ex); }

Outra maneira de fazer isso é a seguinte:

Elmah.ErrorLog.GetDefault(HttpContext.Current).Log(new Elmah.Error(ex));

No entanto, eu envolveria esse código em uma interface de estilo ierrorLogger mais genérico, para que seu código de nível inferior não precise ter uma dependência difícil do próprio Elmah

Outras dicas

Não sei se é com o Elmah (nunca o usei), mas você pode fazer tudo isso com o MS ENT Libs, que são altamente configuráveis.

http://msdn.microsoft.com/en-us/library/cc467894.aspx

http://entlib.codeplex.com/wikipage?title=entlib5%20beta1

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top