using System; using System.Web; using log4net; namespace ProjectBase.Utils.Web { /// <summary> /// Global error handler for logging web exceptions. /// Source from Karl Seguin @ http://codebetter.com/blogs/karlseguin/archive/2006/04/05/142355.aspx /// </summary> public class ErrorModule : IHttpModule { #region Fields and Properties private static readonly ILog logger = LogManager.GetLogger(typeof(ErrorModule)); #endregion #region IHttpModule Members public void Init(HttpApplication application) { application.Error += new EventHandler(application_Error); } public void Dispose() { } #endregion public void application_Error(object sender, EventArgs e) { HttpContext ctx = HttpContext.Current; //get the inner most exception Exception exception; for (exception = ctx.Server.GetLastError(); exception.InnerException != null; exception = exception.InnerException) { } if (exception is HttpException && ((HttpException)exception).ErrorCode == 404) { logger.Warn("A 404 occurred", exception); } else { logger.Error("ErrorModule caught an unhandled exception", exception); } } } }
By viewing downloads associated with this article you agree to the Terms of Service and the article's licence.
If a file you wish to view isn't highlighted, and is a text file (not binary), please let us know and we'll add colourisation support for it.
This article, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)