using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.IO; namespace demo.ClassHelper { /// /// 对程序中产生的日志文件做删除处理,日志主要包括 /// /// 1、平台日志 /// 2、debug/error/info/日志 /// 3、 /// public class LogDel { /// /// 保留日期 /// private const int RETAINDAYS = 3; private string basedir = "D:\\log"; /// /// 删除平台日志 /// public void DelPlatLog() { try { DirectoryInfo di = new DirectoryInfo(basedir); FileInfo[] files = di.GetFiles(); foreach (FileInfo f in files) { if(f.Extension==".log") { if ((DateTime.Now - f.LastAccessTime).TotalDays >= RETAINDAYS) { f.Delete(); } } } } catch (Exception ex) { } } /// /// 删除log4net产生的日志 /// public void Log4netLog() { try { string[] log4nets = new string[] { "Error","Info","Debug","Warning"}; foreach (string item in log4nets) { string dealdir = Path.Combine(basedir, item); DirectoryInfo di = new DirectoryInfo(dealdir); if(di.Exists) { DirectoryInfo[] dirs = di.GetDirectories(); foreach (DirectoryInfo subdir in dirs) { if ((DateTime.Now - subdir.LastAccessTime).TotalDays >= RETAINDAYS) { subdir.Delete(true); } } } } } catch (Exception ex) { } } /// /// 删除通信日志 /// public void CommunicationLog() { try { string[] log4nets = new string[] { "tc1", "tc2", "tc3", "tc4", "tc5", "tc6", "vision" }; foreach (string item in log4nets) { string dealdir = Path.Combine(basedir, "communicationlog", item); DirectoryInfo di = new DirectoryInfo(dealdir); if (di.Exists) { FileInfo[] files = di.GetFiles(); foreach (FileInfo f in files) { if ((DateTime.Now - f.LastAccessTime).TotalDays >= RETAINDAYS) { f.Delete(); } } } } } catch (Exception ex) { } } } }