自己寫的記錄日志,定期刪除日志的方法。
方法比較簡單,記錄一下吧。
1 /// <summary> 2 /// 寫日志 3 /// </summary> 4 /// <param name="strMsg">內容</param> 5 /// <param name="strPath">路徑(相對hycom下的文件夾路徑)</param> 6 /// <param name="fileName">日志名(默認yyyy-MM-dd.txt)</param> 7 public static void WriteLog(string strMsg,string strPath,string fileName) 8 { 9 string path = AppDomain.CurrentDomain.BaseDirectory + strPath;10 if(!path.EndsWith("http://")||!path.EndsWith("/"))11 {12 path+="http://";13 }14 if(!Directory.Exists(path))15 {16 Directory.CreateDirectory(path);17 }18 DeleteLog(path);19 if(fileName=="")20 {21 fileName = DateTime.Now.ToString("yyyy-MM-dd")+".txt";22 }23 if(!fileName.EndsWith(".txt"))24 {25 fileName+=".txt";26 }27 try28 {29 //string fileName =DateTime.Now.ToString("yyyy-MM-dd") + ".txt";30 31 StreamWriter sw = File.AppendText(path+fileName);32 33 sw.WriteLine("{0}:{1}", DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss:fff"), strMsg);34 //sw.WriteLine("/n/r");35 sw.Flush();36 sw.Close();37 }38 catch { }39 }40 /// <summary>41 /// 寫日志42 /// </summary>43 /// <param name="strMsg">內容</param>44 /// <param name="strPath">路徑(相對hycom下的文件夾路徑)</param>45 public static void WriteLog(string strMsg,string strPath)46 {47 string fileName = DateTime.Now.ToString("yyyy-MM-dd")+".txt";48 WriteLog(strMsg,strPath,fileName);49 }50 51 /// <summary>52 /// 定期刪除日志53 /// </summary>54 /// <param name="strPath">日志路徑</param>55 PRivate static void DeleteLog(string strPath)56 {57 58 if(Directory.Exists(strPath))59 {60 DirectoryInfo dinfor = new DirectoryInfo(strPath);61 FileInfo[] files = dinfor.GetFiles();62 foreach(FileInfo file in files)63 {64 try65 {66 //刪除創建日志日期是3個月前的日志67 if(DateTime.Compare(file.CreationTime.AddMonths(3),DateTime.Now)<0)68 {69 file.Delete();70 }71 //刪除最后修改日志日期是3個月前的日志72 if(DateTime.Compare(file.LastWriteTime.AddMonths(3),DateTime.Now)<0)73 {74 file.Delete();75 }76 //刪除日志名稱日期是3個月前的日志77 if(DateTime.Compare(Convert.ToDateTime(file.Name.Substring(0,10)),DateTime.Now.AddMonths(-3))<0)78 {79 file.Delete();80 }81 }82 catch(Exception ex)83 {84 continue;85 }86 }87 }88 }新聞熱點
疑難解答