From ec50521554503dbe766f0f2564cb9e421ff2df85 Mon Sep 17 00:00:00 2001 From: LoveSy Date: Fri, 26 Feb 2021 12:22:05 +0800 Subject: [PATCH] [core] Truncate log if log file is too big (#202) --- .../io/github/lsposed/lspd/service/ConfigManager.java | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/core/src/main/java/io/github/lsposed/lspd/service/ConfigManager.java b/core/src/main/java/io/github/lsposed/lspd/service/ConfigManager.java index 1fa7967a..244c8759 100644 --- a/core/src/main/java/io/github/lsposed/lspd/service/ConfigManager.java +++ b/core/src/main/java/io/github/lsposed/lspd/service/ConfigManager.java @@ -44,6 +44,7 @@ import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; import java.io.OutputStream; +import java.nio.channels.FileChannel; import java.nio.file.Files; import java.nio.file.StandardOpenOption; import java.util.ArrayList; @@ -544,8 +545,13 @@ public class ConfigManager { public ParcelFileDescriptor getModulesLog(int mode) { try { + if (modulesLogPath.length() > 4000 * 1024) { + try (FileChannel outChan = new FileOutputStream(modulesLogPath, true).getChannel()) { + outChan.truncate(1000 * 1024); + } + } return ParcelFileDescriptor.open(modulesLogPath, mode | ParcelFileDescriptor.MODE_CREATE); - } catch (FileNotFoundException e) { + } catch (IOException e) { Log.e(TAG, Log.getStackTraceString(e)); return null; }