From a8df6e3094aadd0df07ffd1fcdb6dcf75c2b6f37 Mon Sep 17 00:00:00 2001 From: Matthew Date: Sun, 23 Jun 2024 18:01:54 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B8=85=E9=99=A4=E6=97=A5=E5=BF=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/xypower/mpmaster/AppMaster.java | 6 ++++ .../com/xypower/mpmaster/MpMasterService.java | 29 ++++++++++++++++++- 2 files changed, 34 insertions(+), 1 deletion(-) diff --git a/mpmaster/src/main/java/com/xypower/mpmaster/AppMaster.java b/mpmaster/src/main/java/com/xypower/mpmaster/AppMaster.java index 2999df3d..467065a2 100644 --- a/mpmaster/src/main/java/com/xypower/mpmaster/AppMaster.java +++ b/mpmaster/src/main/java/com/xypower/mpmaster/AppMaster.java @@ -319,6 +319,12 @@ public class AppMaster { e.printStackTrace(); } + try { + mService.cleanLogFiles(); + } catch (Exception ex) { + ex.printStackTrace(); + } + return res; } diff --git a/mpmaster/src/main/java/com/xypower/mpmaster/MpMasterService.java b/mpmaster/src/main/java/com/xypower/mpmaster/MpMasterService.java index 1ce593e4..ce84548a 100644 --- a/mpmaster/src/main/java/com/xypower/mpmaster/MpMasterService.java +++ b/mpmaster/src/main/java/com/xypower/mpmaster/MpMasterService.java @@ -101,6 +101,8 @@ public class MpMasterService extends Service { private int mQuickHeartbeatDuration = 60; // Unit: second private int mHeartbeatDuration = 600; // 10m = 10 * 60s + private long mTimeForKeepingLogs = 86400000 * 15; // 15 days + private AlarmReceiver mAlarmReceiver = null; private ScreenActionReceiver mScreenaAtionReceiver = null; private UpdateReceiver mUpdateReceiver = null; @@ -164,7 +166,7 @@ public class MpMasterService extends Service { fi.mkdirs(); } - File logFile = new File(fi, "log.txt"); + File logFile = new File(fi, "mlog.txt"); rotatingHandler = new RotatingHandler(logFile.getAbsolutePath(), logFormatter); @@ -242,6 +244,31 @@ public class MpMasterService extends Service { } } + public void cleanLogFiles() { + + try { + String appPath = MicroPhotoContext.buildMasterAppDir(getApplicationContext()); + String logPath = appPath + "logs"; + File fi = new File(logPath); + if (!fi.exists()) { + return; + } + + Date dt = new Date(); + dt.setHours(0); + dt.setMinutes(0); + long millis = dt.getTime() - mTimeForKeepingLogs; + File[] subFiles = fi.listFiles(); + for (File f : subFiles) { + if (f.lastModified() < millis) { + f.delete(); + } + } + } catch (Exception ex) { + ex.printStackTrace(); + } + } + @Override public void onDestroy() {