I'm using ELMAH to handle the exceptions in my ASP.Net MVC project. I would like to use it to log errors like database connection timeout, query connection timeout and others. Is this possible with ELMAH?
If you let the exception propogate out to the Elmah Web Module it will automatically log these exceptions.
You can however programatically log directly to Elmah, there are a couple of ways to do this:
You can use code like this in your catch clause in code:
try{....}
catch(Exception ex) { Elmah.ErrorSignal.FromCurrentContext().Raise(ex); }
Another way of doing this is this:
Elmah.ErrorLog.GetDefault(HttpContext.Current).Log(new Elmah.Error(ex));
I would however wrap this code into a more generic IErrorLogger style interface so that your lower level code doesn't need to have a hard dependency on Elmah itself