我正在使用此语法将错误写入文本文件以便登录Global.axax
- 它每次都会覆盖并仅记录最近的错误。虽然这很有帮助,但它并没有我需要的那么有用。如何记录引发的每个错误?
这是我目前只记录最新代码的代码:
void Application_Error(object sender, EventArgs e)
{
Exception CurrentException = Server.GetLastError();
Server.ClearError();
if (CurrentException != null)
{
try
{
using (StreamWriter sw = new StreamWriter(Server.MapPath("HereAreErrors.txt")))
{
sw.WriteLine(CurrentException.ToString());
sw.Close();
}
}
catch (Exception ex) { }
}
}
答案 0 :(得分:1)
正如其他人所说,您最好使用现有的日志工具来处理日志记录。它们具有无数的功能,最重要的是,由其他人维护!
话虽如此,并且为了回答所问的问题,以下是如何解决您的问题。如果文件不存在,它还有创建文件的额外好处。
void Application_Error(object sender, EventArgs e)
{
Exception CurrentException = Server.GetLastError();
Server.ClearError();
if (CurrentException != null)
{
try
{
File.AppendAllText(Server.MapPath("HereAreErrors.txt"), CurrentException.ToString());
}
catch (Exception ex) { }
}
}