標籤:
/// <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()); } }
Application_Error異常處理