문제

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

다른 팁

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

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top