if (Server.GetLastError() != null)
{
Exception ex = Server.GetLastError().GetBaseException();
string errorTime = "发生时间:" + DateTime.Now.ToString();
string errorAddress = "发生异常页:" + Request.Url.ToString();
string errorInfo = "异常信息:" + ex.Message;
string errorSource = "错误源:" + ex.Source;
string errorTrace = "堆栈信息:" + ex.StackTrace;
Server.ClearError();
System.IO.StreamWriter writer = null;
try
{
lock (this)
{
//写入日志
string year = DateTime.Now.Year.ToString();
string month = DateTime.Now.Month.ToString();
string day = DateTime.Now.Day.ToString();
string path = string.Empty;
string filename = DateTime.Now.ToString("yyyyMMdd") + ".txt";
path = Server.MapPath("~/Error/") + year + month + day;
if (!System.IO.Directory.Exists(path))
{
System.IO.Directory.CreateDirectory(path);
}
System.IO.FileInfo file = new FileInfo(path + "/" + filename);
writer = new StreamWriter(file.FullName, true);//文件不在则创建,true表示追加
writer.WriteLine("用户IP:" + Request.UserHostAddress);
writer.WriteLine(errorTime);
writer.WriteLine(errorAddress);
writer.WriteLine(errorInfo);
writer.WriteLine(errorSource);
writer.WriteLine(errorTrace);
writer.WriteLine("-------------------------------------------------------");
}
}
finally
{
if (writer != null)
{
writer.Close();
}
}
Server.Transfer("/Index.aspx"); //跳转到显示友好错误的页面
}