如何在生产中查看ASP.NET异常

本文关键字:ASP NET 异常 生产中 | 更新日期: 2023-09-27 18:25:11

我的ASP.NET web应用程序的后端在生产时抛出异常(但在本地调试时没有抛出)。

理想情况下,我希望将异常输出到一个文本文件中,然后可以读取该文件。这就是我迄今为止所尝试的:

catch (Exception ex)
{
    string exceptionString = ex.ToString();
    string errorLogPath = HttpContext.Current.Server.MapPath("~/Server/LogFiles");
    StreamWriter sw = new StreamWriter(errorLogPath + '''' + "logs.txt", true);
    sw.WriteLine(exceptionString);
    sw.Close();
}

当我转到logs.txt文件时,那里什么都没有。我很确定有一个异常被捕获,所以我不明白为什么它没有被写入文本文件。也许我的代码错了?

在不附加调试器的情况下查看生产中引发的后端异常的最佳方法是什么?

如何在生产中查看ASP.NET异常

我的问题已经解决了。

  • 日志写入问题确实是由于缺乏权限导致的,该权限不允许StreamWriter在目录上进行写入。本指南有助于更新权限。附带说明:抛出的异常也是由于权限不足引起的。

  • 供将来参考:Elmah似乎真的很有用,可以方便地阅读生产中抛出的异常。你甚至可以看到熟悉的死亡黄色屏幕。它可以很容易地添加。本指南对将Elmah添加到我的MVC项目非常有帮助。