Exemple #1
0
        /// <summary>
        /// 添加系统错误日志
        /// </summary>
        /// <param name="context">页面的context</param>
        public void Save(System.Web.HttpContext context)
        {
            try
            {
                //收集服务器端页面发生的异常,并添加到数据库中
                var ex = context.Server.GetLastError().GetBaseException();

                var errorLog = new ErrorLog();
                //异常产生时间
                errorLog.ErrTime = DateTime.Now;

                var ch = new ClientHelper(context.Request);
                //客户端浏览器版本
                errorLog.BrowserVersion = ch.GetBrowserVersion();
                //客户端浏览器名称
                errorLog.BrowserType = ch.GetBrowserInfo();
                //获取用户IP
                errorLog.Ip = IpHelper.GetUserIp();
                // 异常页面
                errorLog.PageUrl = context.Request.Url.ToString();
                //异常消息
                errorLog.ErrMessage = ex.Message;
                //异常源
                errorLog.ErrSource = ex.Source;
                //堆栈轨迹
                errorLog.StackTrace = ex.StackTrace;
                //帮助连接
                errorLog.HelpLink = ex.HelpLink;

                //添加进数据库
                errorLog.Save();
            }
            catch (Exception) { }
        }