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的删除。

  • 相关阅读:
    队列与栈的综合实现
    枚举属性和不可枚举属性
    Ajax状态值及状态码
    jquery版滑块导航栏
    js版面向对象图片放大镜
    jq封装淘宝图片轮播插件
    前端必备的js知识点(转载)
    如何有效地解决ie7,IE8不支持document.getElmentsByClassName的问题
    mysql的基本命令行操作
    jquery版楼层滚动特效
  • 原文地址:https://www.cnblogs.com/Baron-King/p/13791975.html
Copyright © 2011-2022 走看看