简体   繁体   中英

Recording Java stdout and stderr

What I would like to do is record not redirect java System.out and System.err . I want to be able to save everything that is printed out, while still having it actually print to the console/default destination. I can't change the runtime. I need it to do this in the Java process, seeing as it will be in a Bukkit plugin. Thanks!

You can save the original values of System.out and System.err , extend PrintStream to create a class that records the output and forwards it to another PrintStream .

Then you can just do

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

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM