From 2205fd2f7af48e63b2de6f4f1b678d93cb8e69ff Mon Sep 17 00:00:00 2001 From: TonyJiangWJ Date: Sat, 8 Jan 2022 02:03:53 +0800 Subject: [PATCH] =?UTF-8?q?log4j=E5=88=9D=E5=A7=8B=E5=8C=96=E6=97=B6?= =?UTF-8?q?=E6=A0=A1=E9=AA=8C=E6=96=87=E4=BB=B6=E5=86=99=E5=85=A5=E6=9D=83?= =?UTF-8?q?=E9=99=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/org/autojs/autojs/autojs/AutoJs.java | 2 +- .../main/java/com/stardust/autojs/AutoJs.java | 19 +++++++++++++++---- 2 files changed, 16 insertions(+), 5 deletions(-) diff --git a/app/src/main/java/org/autojs/autojs/autojs/AutoJs.java b/app/src/main/java/org/autojs/autojs/autojs/AutoJs.java index 5d0904ad..299cc6aa 100644 --- a/app/src/main/java/org/autojs/autojs/autojs/AutoJs.java +++ b/app/src/main/java/org/autojs/autojs/autojs/AutoJs.java @@ -92,7 +92,7 @@ public class AutoJs extends com.stardust.autojs.AutoJs { LocalBroadcastManager.getInstance(application).registerReceiver(mLayoutInspectBroadcastReceiver, intentFilter); this.enableDebugLog = PreferenceManager.getDefaultSharedPreferences(GlobalAppContext.get()) .getBoolean(GlobalAppContext.getString(R.string.key_enable_debug_log), false); - setLogFilePath(Pref.getScriptDirPath()); + setLogFilePath(Pref.getScriptDirPath(), BuildConfig.DEBUG); } private void capture(LayoutInspectFloatyWindow window) { diff --git a/autojs/src/main/java/com/stardust/autojs/AutoJs.java b/autojs/src/main/java/com/stardust/autojs/AutoJs.java index 394ff02c..4f35ec84 100644 --- a/autojs/src/main/java/com/stardust/autojs/AutoJs.java +++ b/autojs/src/main/java/com/stardust/autojs/AutoJs.java @@ -26,6 +26,7 @@ import com.stardust.autojs.runtime.accessibility.AccessibilityConfig; import com.stardust.autojs.runtime.api.AppUtils; import com.stardust.autojs.script.AutoFileSource; import com.stardust.autojs.script.JavaScriptSource; +import com.stardust.pio.PFiles; import com.stardust.util.ResourceMonitor; import com.stardust.util.ScreenMetrics; import com.stardust.util.UiHandler; @@ -37,7 +38,6 @@ import org.mozilla.javascript.ContextFactory; import org.mozilla.javascript.WrappedException; import java.io.File; -import java.nio.file.Files; import androidx.annotation.Nullable; import androidx.annotation.RequiresApi; @@ -269,7 +269,7 @@ public abstract class AutoJs { } } - protected void setLogFilePath(String path) { + protected void setLogFilePath(String path, boolean isDebug) { LogConfigurator logConfigurator = new LogConfigurator(); String pid = String.valueOf(android.os.Process.myPid()); logConfigurator.setFilePattern("%d - [%p]\t[" + pid + "] %c - %m%n"); @@ -283,9 +283,20 @@ public abstract class AutoJs { Log.d("LOG4J-CONFIG", "日志目录不是文件夹,无法记录log4j日志"); return; } - logConfigurator.setFileName(path + "/.logs/autojs-log4j" + (BuildConfig.DEBUG ? "-debug" : "") + ".txt"); + String logFileName = path + "/.logs/autojs-log4j" + (isDebug ? "-debug" : "") + ".txt"; + try { + PFiles.write(logFileName, ""); + } catch (Exception e) { + Log.d("LOG4J-CONFIG", "日志文件无写入权限,无法记录log4j日志"); + return; + } + logConfigurator.setFileName(logFileName); // 设置最大10MB logConfigurator.setMaxFileSize(10 * 1024 * 1024); - logConfigurator.configure(); + try { + logConfigurator.configure(); + } catch (Exception e) { + Log.d("LOG4J-CONFIG", "初始化log4j失败"); + } } }