How to redirect console output and runtime exceptions to a file in Java
In Java printing the program output to console for debugging purposes and sometimes for understanding the program flow is very common. One can always argue that we can use logging frameworks like Apache log4j. I agree with that but sometimes the program is just a standalone process not part of a big application. And we want something quick and dirty for logging that info to a file.
Here is how to do it
Add the following code to the beginning of the program call. PrintStream fileStream = new PrintStream(new FileOutputStream("myfile.txt",true)); //Redirecting console output to file (System.out.println) System.setOut(fileStream); //Redirecting runtime exceptions to file System.setErr(fileStream);