C# 如何在生产过程中查看ASP.NET异常?
我的ASP.NET web应用程序的后端在生产过程中(但在本地调试时)引发异常 理想情况下,我希望将异常输出到一个文本文件中,然后可以读取该文件。这就是我迄今为止所尝试的:C# 如何在生产过程中查看ASP.NET异常?,c#,asp.net-mvc,C#,Asp.net Mvc,我的ASP.NET web应用程序的后端在生产过程中(但在本地调试时)引发异常 理想情况下,我希望将异常输出到一个文本文件中,然后可以读取该文件。这就是我迄今为止所尝试的: catch (Exception ex) { string exceptionString = ex.ToString(); string errorLogPath = HttpContext.Current.Server.MapPath("~/Server/LogFiles"); StreamWr
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文件时,那里什么都没有。我很确定有一个异常被捕获,所以我不明白为什么它没有被写入文本文件。也许我的代码错了
在不附加调试器的情况下,查看生产中抛出的后端异常的最佳方法是什么 我的问题已经解决了
- 日志写入问题确实是由于缺少权限导致的,这将不允许StreamWriter在目录上写入。帮助更新权限。附带说明:引发的异常也是由于缺少权限造成的
- 供将来参考:Elmah似乎非常有用,可以轻松读取生产中抛出的异常。你甚至可以看到熟悉的死亡黄屏。它可以很容易地添加。对于将Elmah添加到我的MVC项目非常有帮助
,如果要使用单个反斜杠,请注意如何使用“\\\”
,它应该是文本“@”\“
在“\\\”
和“\\\”
之间有一个区别,还可以将代码添加到Flush
streamwriter中,这样当您打开它时,您可以立即看到写入日志文件的错误。关于ELMAH,实际上有很多附加功能没有在您链接到的指南中描述。这应该是更完整的,而且是相当好的。