HMCL icon indicating copy to clipboard operation
HMCL copied to clipboard

[Feature] 将游戏的控制台输出重定向到文件

Open ZekerZhayard opened this issue 1 year ago • 1 comments

描述 | Description

把游戏运行过程中的控制台输出重定向到某个日志文件,可以是 ~/.hmcl/minecraft.log 之类的地方,这样这个文件可以没有行数限制,而原有的输出到日志界面的行数限制可以不变。 在游戏崩溃之后导出游戏崩溃信息的时候,可以把 minecraft.log 一并打包以代替原先在内存中的控制台输出日志。

原因 | Reason

  • forge 1.13+ 输出到 stdout 的内容不会输出到日志文件里
  • 现有的控制台输出默认行数限制过低导致很多时候游戏崩溃信息中的 minecraft.log 作用不大,而且之前有提高日志行数导致 HMCL 抛 OutOfMemoryError 的案例
  • HMCL 的强制替换 log4j2.xml 的策略导致原先 forge 用自己的 log4j2.xml 能输出的日志反而不输出,给求助者解决问题的时候必须让他加 JVM 参数 -Dlog4j2.formatMsgNoLookups=false 然后重新发日志,浪费人力

ZekerZhayard avatar Jan 20 '24 11:01 ZekerZhayard

希望可以在命令行里或者配置文件里给定一个参数,然后将生成的日志输出到指定的文件中,而不是 stdout 中

IAALAI avatar Mar 18 '24 21:03 IAALAI