C#写入错误日志

原文链接: http://www.cnblogs.com/TSPWater/archive/2010/08/27/1809995.html
 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      }


转载于:https://www.cnblogs.com/TSPWater/archive/2010/08/27/1809995.html

猜你喜欢

转载自blog.csdn.net/weixin_30415113/article/details/95302670