/// <summary> /// 捕捉异常 /// </summary> protected void Application_Error() { // 获得前一个异常的实例 var ex = Server.GetLastError().GetBaseException(); { var sbError = new StringBuilder(); sbError.AppendFormat("Url OriginalString:{0}\r\n", Request.Url.OriginalString); sbError.AppendFormat("URL PathAndQuery:{0}\r\n", Request.Url.PathAndQuery); sbError.AppendFormat("URL.ToString():{0}\r\n", Request.Url.ToString()); sbError.AppendFormat("URL AbsoluteUri:{0}\r\n", Request.Url.AbsoluteUri); var query = (string.IsNullOrEmpty(Request.Url.Query) ? "" : "?" + Request.Url.Query); sbError.AppendFormat("Query:{0}\r\n", query); sbError.AppendFormat("发生时间:{0}\r\n", DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss ffff")); sbError.AppendFormat("异常IP:{0}\r\n", PcHelper.GetInstance.GetIp()); sbError.AppendFormat("异常电脑名称:{0}\r\n", PcHelper.GetInstance.GetUserHostName()); sbError.AppendFormat("浏览器:{0}\r\n", PcHelper.GetInstance.GetBrowser()); var urlRefer = string.Empty; if (Request.UrlReferrer != null) { urlRefer = Request.UrlReferrer.OriginalString; } sbError.AppendFormat("URLRefer OriginalString:{0}\r\n", urlRefer); sbError.AppendFormat("错误时间:{0}\r\n", DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss ffff")); sbError.AppendFormat("错误文件:{0}\r\n", ex.Source); sbError.AppendFormat("错误信息:{0}\r\n", ex.Message); sbError.AppendFormat("引发错误的方法:{0}\r\n", ex.TargetSite); sbError.AppendFormat("错误堆栈:{0}\r\n", ex.StackTrace); // 将错误记录到日志中 FileHelper.GetInstance.WriteToFile(Server.MapPath(CommonConst.ErrorLogPath), sbError.ToString()); } }
时间: 2024-10-11 06:13:10