记录 Java stdout 和 stderr

Recording Java stdout and stderr

我想做的是 记录 而不是重定向 java System.outSystem.err。我希望能够保存打印出的所有内容,同时仍将其实际打印到 console/default 目的地。我无法更改运行时。我需要它在 Java 过程中执行此操作,因为它将在 Bukkit 插件中。谢谢!

您可以保存 System.outSystem.err 的原始值,扩展 PrintStream 以创建一个 class 来记录输出并将其转发给另一个 PrintStream.

那你就可以了

System.setOut(new RecordingStream(System.out));
System.setErr(new RecordingStream(System.err));