diff --git a/.idea/vcs.xml b/.idea/vcs.xml new file mode 100644 index 0000000..35eb1dd --- /dev/null +++ b/.idea/vcs.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/out/artifacts/dhaverdLogs/dhaverdLogs.jar b/out/artifacts/dhaverdLogs/dhaverdLogs.jar index e17d051..c979d5f 100644 Binary files a/out/artifacts/dhaverdLogs/dhaverdLogs.jar and b/out/artifacts/dhaverdLogs/dhaverdLogs.jar differ diff --git a/out/production/dhaverd_logs/org/dhaverdLogs/DhaverdLogs.class b/out/production/dhaverd_logs/org/dhaverdLogs/DhaverdLogs.class index 59f8082..528c56d 100644 Binary files a/out/production/dhaverd_logs/org/dhaverdLogs/DhaverdLogs.class and b/out/production/dhaverd_logs/org/dhaverdLogs/DhaverdLogs.class differ diff --git a/src/org/dhaverdLogs/DhaverdLogs.java b/src/org/dhaverdLogs/DhaverdLogs.java index 28a1f96..f3e7d66 100644 --- a/src/org/dhaverdLogs/DhaverdLogs.java +++ b/src/org/dhaverdLogs/DhaverdLogs.java @@ -3,8 +3,11 @@ package org.dhaverdLogs; import java.io.File; import java.io.FileWriter; import java.io.IOException; +import java.time.Duration; import java.time.LocalDateTime; +import java.time.Period; import java.time.format.DateTimeFormatter; +import java.util.List; public class DhaverdLogs { public static final String osSeparator = System.getProperty("file.separator"); @@ -12,6 +15,38 @@ public class DhaverdLogs { public static String fileName = "log.log"; public static String logDir = ""; + public static void logCleaner(boolean deleteBySevenDays) throws IOException { + File dir = new File(logDir); + if (!dir.isDirectory()){ + return; + } + File[] fileList = dir.listFiles(); + assert fileList != null; + for (File file : fileList){ + String fileName = file.getName(); + if (!fileName.contains("gitignore")){ + if (deleteBySevenDays){ + String[] params = fileName.split("_"); + String date = params[0]; + date = date.replace('.', '-'); + String time = params[1]; + time = time.replace('-', ':'); + String dateTime = date + "T" + time; + LocalDateTime now = LocalDateTime.now(); + LocalDateTime logDateTime = LocalDateTime.parse(dateTime); + Duration duration = Duration.between(logDateTime, now); + long diff = Math.abs(duration.toDays()); + if (diff > 7){ + setLog("Log cleaner", "File " + file.getName() + " is deleted: " + file.delete(), true, false); + } + } else { + setLog("Log cleaner", "File " + file.getName() + " is deleted: " + file.delete(), true, false); + } + + } + } + } + public static void setLogName(String name){ String time = getCurrentTime();