Redirect standard error


To redirect standard error (or System.err) there's a method in the System class called setErr() which takes a PrintStream instance as argument.
If we for example want to redirect all messages on System.err to a file, we can create a FileOutputStream instance and send it to the constructor of the PrintStream.
This Java code example creates the FileOutputStream with the filename "standard_err.txt" and pass it to the PrintStream, which in turn is passed to the setErr() method.
A NullPointerException is forced to test that the stacktrace is printed to the file.


import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.PrintStream;
/**
 * Main.java
 *
 * @author www.javadb.com
 */

public class Main {
    
    /**
     * Redirects System.err and sends all data to a file.
     *
     */

    public void redirectSystemErr() {
        
        try {
            
            System.setErr(new PrintStream(new FileOutputStream("system_err.txt")));
            
            String nullString = null;
            
            //Forcing an exception to have the stacktrace printed on System.err
            nullString = nullString.toUpperCase();
            
        } catch (FileNotFoundException ex) {
            ex.printStackTrace();
        }
    }
    /**
     * Starts the program
     *
     * @param args the command line arguments
     */

    public static void main(String[] args) {
        new Main().redirectSystemErr();
    }
}

Do you know your Java?
Take a Ten-Question-Java-Quiz!

Bookmark: Social bookmarks del.icio.us digg Furl YahooMyWeb blinkbits BlinkList blogmarks co.mments connoteas De.lirio.us Fark feedmelinks LinkaGoGo Ma.gnolia NewsVine Netvouz RawSugar Reddit scuttle Shadows Simpy Smarking Spurl TailRank Wists segnalo




   Need Java help? You are just a few bucks away.

   This is how it works:
  • Send us a detailed description of what you need help with.
  • We send you a confirmation when we start working on your request, and then we send you the compiled Java code for you to test out.
  • If you are satisfied with the result we send you a secure link where you can make the payment for the Java source code, usually a few bucks (depends on the work required).
  • The source code is sent to you once the payment is completed.


Write your detailed request here:
   

E-mail address: