Use Elmah para registrar erros de banco de dados
-
24-09-2019 - |
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?
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.