ASP.NET如何在异常发生时记录请求url?

时间:2012-10-31 08:43:10

标签: asp.net logging

我在日志文件中看到了数千个“[2012/10/31 16:08:23] FATAL: An unhandled error occurred. - Exception : A potentially dangerous Request.Path value was detected from the client (%).”。

我认为有人正在使用攻击工具调查恶意请求。我无法在当地环境中重现它。

我在Global.asax,Application_Error事件中登录。

protected void Application_Error(object sender, EventArgs e)
{
    var ex = Server.GetLastError();
    if (null != ex)
    {
        Edi.Web.Logging.Logger.Fatal("An unhandled error occurred. ", ex);
    }
}

但是如何记录特定的请求URL,这也是危险的“Request.Path”?

(在Application_BeginRequest中记录每个request.path并不是一个好主意,我只想记录导致此异常的那个)

1 个答案:

答案 0 :(得分:3)

希望,这就是你想要的:

protected void Application_Error(object sender, EventArgs e)
{        
    var ex = Server.GetLastError();
    if (null != ex)
    {
        Edi.Web.Logging.Logger.Fatal("An unhandled error occurred. " + "---Page:"
            + HttpContext.Current.Request.Url.ToString(), ex);
    }
}