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失败"); + } } }