【发布时间】:2011-05-01 11:43:51
【问题描述】:
我正在使用 web.config 文件的 customErrors 属性来显示自定义错误页面:
<customErrors mode="On" defaultRedirect="/errorpage.aspx">
<error statusCode="404" redirect="/404Page.aspx"/>
<error statusCode="403" redirect="/403page.aspx"/>
</customErrors>
没什么太花哨的。现在我要做的是记录加载任何这些页面时发生的错误。我对任何异常都特别感兴趣,我真的不在乎用户在收到 404 时在哪个页面上。
我想捕获异常并将其记录到数据库表中。会不会有这样的工作:
//errorpage.aspx
public void Page_Load(object sender,EventArgs e)
{
Exception objErr = Server.GetLastError().GetBaseException();
var err = new {Url = Request.Url.ToString(),
Message = objErr.Message,
Trace = objErr.StackTrace.ToString()};
db.Errors.InsertOnSubmit(err);
db.SubmitChanges();
Server.ClearError();
}
是否还有其他信息值得捕获,或者通常在错误时捕获?
【问题讨论】:
标签: c# asp.net error-logging