zoukankan      html  css  js  c++  java
  • Application_Error异常处理

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

    补充
    sbException.AppendFormat("发生时间:{0}", DateTime.Now);
                sbException.AppendFormat("错误描述:{0}", ex.Message.Replace(" ", ""));
                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());
  • 相关阅读:
    无刷电机控制学习笔记
    "程序宅男"从改善皮肤开始——不再长痘
    跨平台国际化测试——Switch本体测试
    自动驾驶技术了解
    互联网加班狗:零碎时间学英语的方法
    ASCII,Unicode,GBK和UTF-8字符编码的区别和联系
    领域驱动设计的必要性和模型标准——《领域驱动设计-精简版》
    异步、非阻塞和IO多路复用总结
    Debian 8 安装Nginx最新版本
    字节、字、bit、Byte、byte的关系区分
  • 原文地址:https://www.cnblogs.com/jiangqw/p/4204823.html
Copyright © 2011-2022 走看看