Java examples for Language Basics:Console
Redirecting Standard Output, and Error
import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.PrintStream; public class Main { public static void main(String[] args) { try {//from ww w. j a va 2 s. c om // Tee standard output PrintStream out = new PrintStream(new FileOutputStream("out.log")); PrintStream tee = new TeeStream(System.out, out); System.setOut(tee); // Tee standard error PrintStream err = new PrintStream(new FileOutputStream("err.log")); tee = new TeeStream(System.err, err); System.setErr(tee); } catch (FileNotFoundException e) { } // Write to standard output and error and the log files System.out.println("welcome"); System.err.println("error"); } } class TeeStream extends PrintStream { PrintStream out; public TeeStream(PrintStream out1, PrintStream out2) { super(out1); this.out = out2; } public void write(byte buf[], int off, int len) { try { super.write(buf, off, len); out.write(buf, off, len); } catch (Exception e) { } } public void flush() { super.flush(); out.flush(); } }