Redirect System.out and System.err

A crude but common way of debugging Java programs is to use the public System.out and/or System.err instances of PrintStream to display information:

System.out.println("Entering section A of my code");

One drawback to this method is that if the information is sent to a display (usually the default), it may scroll off the screen before you're able to view the message. Also, you may wish to have the messages stored in a more permanent way. You can accomplish this by redirecting the output to some place such as a printer or a local disk file using the System.setErr() and System.setOut() static methods. For example, this code will cause error messages to be stored in a disk file: