This commit is contained in:
Chuanwise 2024-02-18 02:31:46 +08:00 committed by GitHub
commit 09c62f9f1b
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
2 changed files with 15 additions and 7 deletions

View file

@ -36,8 +36,12 @@ gradle
开启此选项后, 日志仅会输出到控制台.
需要注意的是, authlib-injector 的日志是不会输出到 Minecraft 服务端/客户端的日志文件中的.
每次启动时, 日志文件都会被清空. 如果有多个进程使用同一个日志文件, 则只有最早启动的会成功打开日志文件.
-Dauthlibinjector.logFile
指定日志文件输出位置.
可以填写绝对路径,也可以填写相对路径。
在 -Dauthlibinjector.noLogFile 选项开启后,本选项将会失效。
-Dauthlibinjector.mojangNamespace={default|enabled|disabled}
设置是否启用 Mojang 命名空间 (@mojang 后缀).

View file

@ -20,10 +20,7 @@ import static java.nio.file.StandardOpenOption.CREATE;
import static java.nio.file.StandardOpenOption.WRITE;
import static moe.yushi.authlibinjector.util.Logging.Level.INFO;
import static moe.yushi.authlibinjector.util.Logging.Level.WARNING;
import java.io.IOException;
import java.io.PrintStream;
import java.io.PrintWriter;
import java.io.StringWriter;
import java.io.*;
import java.nio.channels.FileChannel;
import java.nio.charset.Charset;
import java.nio.file.Path;
@ -45,8 +42,15 @@ public final class Logging {
log(INFO, "Logging to file is disabled");
return null;
}
Path logfilePath = Paths.get("authlib-injector.log").toAbsolutePath();
String logFileProperty = System.getProperty("authlibinjector.logFile");
Path logfilePath;
if (logFileProperty == null) {
logfilePath = Paths.get("authlib-injector.log").toAbsolutePath();
} else {
logfilePath = new File(logFileProperty).toPath().toAbsolutePath();
}
try {
FileChannel channel = FileChannel.open(logfilePath, CREATE, WRITE);
if (channel.tryLock() == null) {