C#写入错误日志
1 public void WriteLog(Exception ex)
2 {
3 try
4 {
5 String FolderPath = ConfigurationManager.AppSettings[""];
6
7 string _path = "";
8 if (!IsPhysicalPath(FolderPath))
9 _path = HttpContext.Current.Server.MapPath(FolderPath);
10 else _path = FolderPath;
11
12 System.IO.DirectoryInfo dinfo = new DirectoryInfo(_path);
13
14 if (!dinfo.Exists)
15 dinfo.Create();
16 String filePath = _path + DateTime.Now.ToShortDateString() + "_Log.log";
17
18 String logStr = String.Empty;
19 logStr += "发生时间:" + DateTime.Now.ToString() + "\r\n";
20 logStr += "请求地址:" + HttpContext.Current.Request.RawUrl + "\r\n";
21 logStr += "来源地址:" + ((HttpContext.Current.Request.UrlReferrer == null) ? "url地址栏直接输入" : HttpContext.Current.Request.UrlReferrer.AbsoluteUri) + "\r\n";
22 logStr += "访客 I P:" + HttpContext.Current.Request.UserHostAddress + "\r\n";
23 logStr += "错误类名:" + occurClass + "\r\n";
24 logStr += "错误方法:" + occurMethod + "\r\n";
25 logStr += "详细描述:" + ex.Message+"\r\n";
26 logStr += "跟踪信息:"+ex.StackTrace+"\r\n";
27 logStr += "-----------------------------------------------------------------------------------------------------------------\r\n\r\n\r\n";
28 File.AppendAllText(filePath,logStr, System.Text.Encoding.Unicode);
29 }
30 catch
31 { }
32 }
33 //true:绝对路径;false:相对路径
34 public static bool IsPhysicalPath(string Path)
35 {
36 string RegexString = @"\b[a-z]:\\.*";
37 MatchCollection Matchs = Regex.Matches(Path, RegexString, RegexOptions.IgnoreCase | RegexOptions.Compiled);
38 if (Matchs.Count > 0)
39 return true;
40 return false;
41 }
2 {
3 try
4 {
5 String FolderPath = ConfigurationManager.AppSettings[""];
6
7 string _path = "";
8 if (!IsPhysicalPath(FolderPath))
9 _path = HttpContext.Current.Server.MapPath(FolderPath);
10 else _path = FolderPath;
11
12 System.IO.DirectoryInfo dinfo = new DirectoryInfo(_path);
13
14 if (!dinfo.Exists)
15 dinfo.Create();
16 String filePath = _path + DateTime.Now.ToShortDateString() + "_Log.log";
17
18 String logStr = String.Empty;
19 logStr += "发生时间:" + DateTime.Now.ToString() + "\r\n";
20 logStr += "请求地址:" + HttpContext.Current.Request.RawUrl + "\r\n";
21 logStr += "来源地址:" + ((HttpContext.Current.Request.UrlReferrer == null) ? "url地址栏直接输入" : HttpContext.Current.Request.UrlReferrer.AbsoluteUri) + "\r\n";
22 logStr += "访客 I P:" + HttpContext.Current.Request.UserHostAddress + "\r\n";
23 logStr += "错误类名:" + occurClass + "\r\n";
24 logStr += "错误方法:" + occurMethod + "\r\n";
25 logStr += "详细描述:" + ex.Message+"\r\n";
26 logStr += "跟踪信息:"+ex.StackTrace+"\r\n";
27 logStr += "-----------------------------------------------------------------------------------------------------------------\r\n\r\n\r\n";
28 File.AppendAllText(filePath,logStr, System.Text.Encoding.Unicode);
29 }
30 catch
31 { }
32 }
33 //true:绝对路径;false:相对路径
34 public static bool IsPhysicalPath(string Path)
35 {
36 string RegexString = @"\b[a-z]:\\.*";
37 MatchCollection Matchs = Regex.Matches(Path, RegexString, RegexOptions.IgnoreCase | RegexOptions.Compiled);
38 if (Matchs.Count > 0)
39 return true;
40 return false;
41 }