Question

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?

Was it helpful?

Solution

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

OTHER TIPS

I don't know if it is with ELMAH (never used it) but you can do all that with the MS Ent Libs, which are highly configurable.

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

http://entlib.codeplex.com/wikipage?title=EntLib5%20Beta1

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top