录制Java stdout和stderr

时间:2017-04-29 21:05:56

标签: java stdout bukkit

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

1 个答案:

答案 0 :(得分:3)

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

然后你可以做

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