Input/Output Verhindern, dass log-Einträge auf Console erscheinen

Nobba

Mitglied
Hallo,

Ich habe eine Klasse, welche fleißig Einträge in eine Log-File schreiben soll, aber nur in diese. Ich möchte nicht, dass die normale Konsolen - Ausgabe damit belastet wird.

Hab vielleicht grade ein Brett vorm Kopf, aber wie kann ich verhindern, dass der Logger, das gleichzeitig auch auf System.out ausgibt?

Hier mein Code:

Java:
package netzgenerator.vernetzen.ZycloPalloid;

import java.io.*;
import java.awt.Toolkit;
import java.util.logging.*;
import netzgenerator.Datensatz;

public class Controller {

    static final Logger log = Logger.getLogger(Controller.class.getName());

    Handler file_handler;
    Formatter klartext;

    public void Controller() throws IOException {
        //Logger erzeugen
        file_handler = new FileHandler("log.txt");

        //Formatter erzeugen
        klartext = new SimpleFormatter();
        file_handler.setFormatter(klartext);
        log.addHandler(file_handler);

        log.setLevel(Level.ALL);
    }

    public static void main(String[] args) {

        /*int nKopf = 4, nFlanke = 6, nUebergang = 4, nFuss = 12;
        int[] nBreite = {10, 6, 10};
        int[] Hoehe = {12, 8};
        double dB = 10, dBm = 90;
         *
         */

        System.out.println(new java.util.Date() + ": Berechnung gestartet.");
        log.info("Berechnung gestartet");
}
}


Hier noch die Konsolen-Ausgabe von NetBeans:
Code:
Wed May 25 18:33:26 CEST 2011: Berechnung gestartet.
25.05.2011 18:33:26 netzgenerator.vernetzen.ZycloPalloid.Controller main
INFO: Berechnung gestartet
ERSTELLEN ERFOLGREICH (Gesamtzeit: 0 Minuten 1 Sekunde)

Wäre nett, wenn einer ne Lösung wüsste. Hab das gegoogelt, werde aber nicht so recht schlau.
Grüße,
Nobba
 
Hallo,

Danke für den Link, der hat geholfen.

Ich habe nach diesem Schema:
Java:
logger.setUseParentHandlers(false)
Das Problem behoben.

Der Logger hat den Consolen-Handler geerbt und es war "true" eingestellt alle geerbten Handler zu benutzen. Deswegen wurde die Konsole mit einbezogen.
Ist nun erledigt.

Danke für die Hilfe.
Nobba
 

Zurück
Oben