zoukankan      html  css  js  c++  java
  • C# -linux下Log的自动删除

    C# -linux下Log的自动删除

    对log的操作其实也就两部分,找到log,判断log生成时间是否超出规定时间,是则删除,下面是代码实现,大家如果有相似问题,可以借鉴一下,也欢迎在品论区留下更好的解决方案。

    public static void ClearLog()
            {             
                string logPath = AppDomain.CurrentDomain.BaseDirectory+ "Logs"; //获取到更目录下的logs文件夹          
                if (!Directory.Exists(logPath))
                {
                    return;
                }
                DirectoryInfo folder = new DirectoryInfo(logPath);
                FileSystemInfo[] files = folder.GetFileSystemInfos(); //获取文件夹
                if (files == null)
                {
                    return;
                }
                foreach (FileSystemInfo file in files)
                {
                    string path_log_url = file.FullName;
                   
                    if (!Directory.Exists(path_log_url))
                    {
                        continue;
                    }
                    DirectoryInfo folder_base = new DirectoryInfo(path_log_url);
                    FileInfo[] files_base = folder_base.GetFiles("*.txt");  //获取.txt文件
                    foreach (var file_txt in files_base)
                    {                  
                        //获取文件创建时间
                        DateTime fileCreateTime = file_txt.LastWriteTime;
                        //获取当前时间
                        DateTime now = DateTime.Now;
                        int createMonth = fileCreateTime.Month; 
                        int nowMonth = now.Month;
                        int distance = nowMonth - createMonth;
                        distance = distance >= 0 ? distance : (distance + 12); 时间差
                        if (distance < 3)
                        {
                            //小于三个月不删除
                            continue;
                        }
                        try
                        {
                            File.Delete(file_txt.FullName);
                        }
                        catch
                        {
                            throw new Exception("删除日志文件出现异常");
                        }
                    }
                    
                }

    在Linux上winds上测试都能完成Log的删除。

  • 相关阅读:
    转:spring-session
    转:SpringBoot项目如何进行打包部署
    事务的隔离级别
    获取打卡记录接口返回数据情况说明
    批注@SuppressWarnings 的作用
    mybatis-generator eclipse插件 使用方法
    几种常见数据库的driverClassName和url
    ssm 配置多个数据源
    常用正则表达式
    tomcat 配置成服务
  • 原文地址:https://www.cnblogs.com/Baron-King/p/13791975.html
Copyright © 2011-2022 走看看