Java-Logger nicht alles drucken auf die Konsole
Ich bin gerade erst anfangen zu lernen Logger in Java, aber ich kann nicht verstehen, wie es funktioniert.
Ich habe diesen code direkt nach der Deklaration der Klasse:
private static final Logger LOGGER = Logger.getLogger(MyClass.class.getName());
Dann in meinem Methoden verwende ich es wie folgt (Beispiele):
LOGGER.log(Level.FINE, "Testing");
LOGGER.info("More testing...");
...
} catch(Exception e) {
LOGGER.log(Level.SEVERE, e.toString(), e);
}
Druckt aber nicht an der Konsole. Wird es in einer Datei gespeichert, irgendwo oder bin ich einfach nur verwenden es falsch?
Ich bin mit Eclipse Mars 2 mit Java 1.6.0_22 ob es einen Unterschied macht.
BEARBEITEN: ich bin mit der java.util.logging.Logger
Bibliothek.
Hinzugefügt die Bibliothek zu OP.
Haben Sie versucht, aktualisieren Sie den Projekt-explorer in Eclipse zu sehen, ob irgendwelche Dateien wurden erzeugt?
Habe ich; auch bei geschlossenen Eclipse und wiedereröffnet. Es wurden keine neuen Dateien.
Haben Sie versuchen, um call-LOGGER.getHandlers() und überprüfen Sie die Liste der Handler zugeordnet, um den logger? Vielleicht console-handler wird nicht zugewiesen?
Nein, sehen Sie lieber im debugger, was die Klasse ist, die der handler-Instanz. Sie können auch versuchen, fügen Sie einen handler durch Aufruf von LOGGER.addHandler(new ConsoleHandler()). Versuchen zu spielen, mit LOGGER.setLevel(Level.ALLE), vielleicht ist die Protokollierung ausgeschaltet ist.
Haben Sie versucht, aktualisieren Sie den Projekt-explorer in Eclipse zu sehen, ob irgendwelche Dateien wurden erzeugt?
Habe ich; auch bei geschlossenen Eclipse und wiedereröffnet. Es wurden keine neuen Dateien.
Haben Sie versuchen, um call-LOGGER.getHandlers() und überprüfen Sie die Liste der Handler zugeordnet, um den logger? Vielleicht console-handler wird nicht zugewiesen?
Nein, sehen Sie lieber im debugger, was die Klasse ist, die der handler-Instanz. Sie können auch versuchen, fügen Sie einen handler durch Aufruf von LOGGER.addHandler(new ConsoleHandler()). Versuchen zu spielen, mit LOGGER.setLevel(Level.ALLE), vielleicht ist die Protokollierung ausgeschaltet ist.
InformationsquelleAutor o.o | 2016-06-08
Du musst angemeldet sein, um einen Kommentar abzugeben.
Hier ist was Sie wissen sollten,
java.util.Logging
wird gesteuert durch ein root-logger-Datei, die in das JRE/lib Ordner namenslogging.properties
Standardeinstellung Level.INFO daher Fine-Nachrichten standardmäßig nicht angezeigt werden, da FEINE niedriger als INFO,Nun können Sie das LOGGER-Objekt nur in Ordnung und sollte funktionieren. Kasse Java-Logging-Übersicht
Denken Sie daran, dass es gibt einen Grund, den Protokoll-Level auf FEIN, so,den Pegel zu reduzieren, könnte auch print unnötige info von Kern-Bibliotheken. Lassen Sie mich wissen, wenn es hilft.
Bezug Auf Douglas
Haben Sie Spaß beim Programmieren
InformationsquelleAutor Olu Smith
Dies scheint zu funktionieren für mich in einem neuen Eclipse-Projekt.
InformationsquelleAutor cricket_007
Meine Vermutung ist, dass Sie mit Log4J. Wenn das richtig ist, der logger ist, soll das speichern in einer Datei standardmäßig nicht drucken auf einer Konsole (die für gewöhnlich mit System.aus.println("Nachricht")). Haben Sie eine log4j.Eigenschaften-Datei?
InformationsquelleAutor Agricola