log4net自动删除日志文件

匿名 (未验证) 提交于 2019-12-02 23:47:01

  static ILog _log = null;         static object lockHelper = new object();         private ILog GetLog()         {               if (null == _log)             {                 lock (lockHelper)                 {                     if (null == _log)                     {                         StackTrace stackTrace = new StackTrace(this._skipFrames);                         StackFrame stackFrame = stackTrace.GetFrame(0);                         MethodBase methodBase = stackFrame.GetMethod();                           // ApplicationRollingFile在.config文件中配置的名称                         _log = LogManager.GetLogger("ApplicationRollingFile");                         Task.Run(()=> {                             var apps = _log.Logger.Repository.GetAppenders();                             if (apps.Length <= 0)                             {                                 return;                             }                             var now = DateTime.UtcNow.AddDays(-10);                             foreach (var item in apps)                             {                                 if (item is RollingFileAppender)                                 {                                     RollingFileAppender roll = item as RollingFileAppender;                                     var dir = Path.GetDirectoryName(roll.File);                                     var files = Directory.GetFiles(dir, "*.txt");                                     //var sample = "log.txt2017-10-23.txt";                                       foreach (var filePath in files)                                     {                                         var file = new FileInfo(filePath);                                         if (file.CreationTimeUtc < now) {                                             try                                             {                                                 file.Delete();                                             }                                             catch (Exception)                                             {                                               }                                         }                                     }                                 }                             }                         });                     }                 }             }                                      return _log;         }

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!