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("程序出现异常状态,请联系管理员"); } |