Pet*_*ter 2 .net sql-server error-handling
我正在研究SQL Server 2008上的ASP.NET应用程序.有时用户会出于各种原因在网站上生成错误,如果我能够获得生成错误的原始请求以便我可以重播它或使其成为非常有用的话测试的一部分.
我熟悉事件查看器以查找错误,但我发现摘要没有给我足够的信息,例如"他们试图使用的特殊字符是什么"?
这可能吗?我怎么知道的?
小智 7
您可以使用Elmah错误记录.它是免费的,能够很好地处理错误,它显示了很多有用的信息.您可以将其配置为在发生错误时发送电子邮件.
网址:https: //code.google.com/p/elmah/
小智 5
据我所知,没有默认方法可以做到这一点.您必须向应用程序添加其他日志记录,以便您可以捕获此信息并将其存储在数据库中,或通过电子邮件将其发送给管理员.
尝试修改Global.asax中的Application_Error方法
以下是如何收集一些信息,您可以进一步修改以满足您的需求
void Application_Error(object sender, EventArgs e)
{
// Code that runs when an unhandled error occurs
// At this point we have information about the error
HttpContext ctx = HttpContext.Current;
Exception exception = ctx.Server.GetLastError();
//Error message that will be emailed
string errorInfo =
"<br><b>Time:</b> " + DateTime.Now.ToString() +
"<br><b>Offending URL:</b> " + ctx.Request.Url.ToString() +
"<br><b>Referring URL:</b> " + ctx.Request.UrlReferrer.ToString() +
"<br><br><b>Query String:</b> " + ctx.Request.QueryString.ToString() +
"<br><br><b>IP Address:</b> " + ctx.Request.UserHostAddress +
"<br><br><b>Form:</b> " + ctx.Request.Form.ToString() +
"<br><br><b>Source:</b> " + exception.Source +
"<br><br><b>Message:</b> " + exception.Message +
"<br><br><b>Stack trace:</b> " + exception.StackTrace;
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
146 次 |
| 最近记录: |