有没有一种方法可以记录ASP中发生的任何意外异常?网络页面

本文关键字:任何 意外 异常 网络 ASP 一种 方法 记录 有没有 | 更新日期: 2023-09-27 18:03:07

我使用log4net来记录预期的异常,如下所示:

try {
   // some exception occurred
} catch (Exception ex)
{
   log.Error("Exception occurred!", ex);
}

信息将被写入文件或我设置的地方。但对于那些没有尝试的人……捕获块运行时异常,我怎么能记录他们完全无论何时发生?

log4net是否支持它,或者是否有任何方法将它们一起记录?谢谢你。

有没有一种方法可以记录ASP中发生的任何意外异常?网络页面

您可以在global中订阅全局Application_Error事件处理程序。所有未处理的异常都将冒泡出来,您将有可能记录(并可能处理它们)。

例如:

protected void Application_Error()
{
    var exception = Server.GetLastError();
    log.Error("Exception occurred!", exception);
    // TODO: optionally handle the exception here, for example display
    // some custom error page or something
}

ELMAH是您的朋友-您可以与log4net一起使用。

ELMAH(错误记录模块和处理程序)是一个全应用范围的错误记录工具,完全可插拔。它可以动态地添加到正在运行的ASP中。. NET web应用程序,甚至所有的。. NET web应用程序,而不需要重新编译或重新部署。