c# - 有没有办法记录 ASP.NET 页面中发生的任何意外异常?

标签 c# asp.net logging log4net

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

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

信息将被写入文件或我设置的某个地方。但是对于那些不在 try...catch block 中的运行时异常,我如何在发生时完整地记录它们?

log4net 是否支持它,或者有什么方法可以将它们一起记录吗?谢谢。

最佳答案

您可以订阅 Global.asax 中的全局 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
}

关于c# - 有没有办法记录 ASP.NET 页面中发生的任何意外异常?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15322309/

相关文章:

c# - ATL 进程外回调接口(interface)上的“接口(interface)未注册”错误

Java 与 C# GZip 压缩

asp.net - 无法在 Owin Startup.cs 中加载 System.Web.Cors

c# - 为什么我要使用静态方法进行数据库访问

c# - 在特定网站中使用 C# 创建 Web IIS 虚拟目录

java - 使用 Log.e() 时出错;

java - Log4J 未正确归档日志

swift - 如何在 Swift 中使用 CVaListPointer 参数调用方法

asp.net - .NET核心IdentityUser模型中的规范化电子邮件和用户名的用途是什么?

c# - 添加日志记录的更好方法或需要在每个函数中出现的方法?