我使用以下代码在MVC网站中实现了一个简单的错误记录测试:
protected void Application_Error(object sender, EventArgs e)
{
Exception ex = Server.GetLastError();
using (StreamWriter sw = File.AppendText(Server.MapPath("\\log.txt")))
{
sw.WriteLine(string.Format("Time:{0}\n{1} \n\n\n", DateTime.Now, ex.ToString()));
}
}
我面临的问题是,如果网站web.config中的customerror不是Off
<customErrors mode="Off"></customErrors>
但我认为如果发生错误,这会让网站用户看到死亡的黄色屏幕,是否有办法按照我的方式记录错误,但没有将自定义错误设置为关闭?
答案 0 :(得分:0)
您将获得这些黄色死亡屏幕,因为您没有正确处理异常。如果您正在记录所有异常,那么您(很可能)将获得一个将接收所有异常的方法。 Check this out以便您可以更好地在页面级别,应用程序级别或Web.Config文件中捕获错误。
Take a look at this如果您想查看Microsoft的处理例外的最佳做法。
祝你好运!