c# .net 我的Application_Error 全局异常抓取处理


  protected void Application_Error(object sender, EventArgs e)
        {
            //在出现未处理的错误时运行的代码         
            Exception objError = Server.GetLastError().GetBaseException();
            string errortime = string.Empty;
            string erroraddr = string.Empty;
            string errorinfo = string.Empty;
            string errorsource = string.Empty;
            string errortrace = string.Empty;
            string errormethodname = string.Empty;
            string errorclassname = string.Empty;

            errortime = "发生时间:" + System.DateTime.Now.ToString();
            erroraddr = "发生异常页: " + System.Web.HttpContext.Current.Request.Url.ToString();
            errorinfo = "异常信息: " + objError.Message;
            errorsource = "错误源:" + objError.Source;
            errortrace = "堆栈信息:" + objError.StackTrace;
            errorclassname = "发生错误的类名" + objError.TargetSite.DeclaringType.FullName;
            errormethodname = "发生错误的方法名:" + objError.TargetSite.Name;
            //清除当前异常 使之不返回到请求页面
            Server.ClearError();
            lock (this)
            {
                //文件不存在就创建,true表示追加
                // writer = new System.IO.StreamWriter(file.FullName, true);
                #endregion
                string ip = "用户IP:" + Request.UserHostAddress;
                string log = errortime + "##" + erroraddr + "##" + ip + "##" + errorclassname + "##" + errormethodname + "##" + errorinfo + "##" + errorsource + "##" + errortrace.Replace("\r\n", "<br>");
               
                LogHelper.Error(new Exception(log), this.GetType().Name, "Global");
            }
            Response.Write("程序出现异常状态,请联系管理员");
        }


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM