Application_Error异常处理

/// <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());
            }
        }

补充
sbException.AppendFormat("发生时间:{0}", DateTime.Now);
            sbException.AppendFormat("错误描述:{0}", ex.Message.Replace("\r\n", ""));
            sbException.AppendFormat("错误对象:{0}", ex.Source);
            sbException.AppendFormat("错误页面:{0}", HttpContext.Current.Request.Url);
            sbException.AppendFormat("浏览器IE:{0}", HttpContext.Current.Request.UserAgent);
            sbException.AppendFormat("服务器IP:{0}", NetHelper.GetIPAddress());

 

posted @ 2015-01-05 23:05  apegu  阅读(668)  评论(0编辑  收藏  举报