Startausgaben vom embedded Jetty unterdrücken

Log-Ausgaben von Jetty sind speziell”. Wie http://docs.codehaus.org/display/JETTY/Debugging schreibt:

Jetty logging looks for a slf4j jar on the classpath. If found, slf4j is used to control logging otherwise stderr is used.

Dinge einfach nach System.err zu schreiben ist nicht so tolle und Jetty nutzt kein JUL. Daher bekommt man, wenn man slf4j nicht im Pfad hat, eine lästige Ausgabe wie diese:

2011-05-27 18:18:57.898:INFO::jetty-7.4.2.v20110526
2011-05-27 18:18:59.658:INFO::started o.e.j.w.WebAppContext{/,file:/C:/Users/Christian/Documents/My%20Dropbox/Development/TraidaWorkspace/Traida/war/},C:\Users\Christian\Documents\My Dropbox\Development\TraidaWorkspace\Traida\war
2011-05-27 18:19:00.053:INFO::Started SelectChannelConnector@0.0.0.0:8080 STARTING

Was tun, wenn man auf slf4j verzichten möchte? Es bleibt einem nichts anders übrig, als beim Starten temporär den System.err-Strom auf’s Nirwana zu lenken:

PrintStream err = System.err;
System.setErr( new PrintStream( new OutputStream() { public void write( int b ) { } } ) );
// Jetty hier starten
System.setErr( err );

Dann ist Ruhe im Karton.