Wo speichert java.util.logging.Logger sein Protokoll?
Könnte dies eine dumme Frage, aber ich bin ein bisschen verloren mit java-Logger
private static Logger logger = Logger.getLogger("order.web.OrderManager");
logger.info("Removed order " + id + ".");
Wo sehe ich den log? Auch dieses Zitat aus java.util.die Protokollierung.Logger-Bibliothek:
Auf jede Anmeldung rufen Sie den Logger zunächst führt eine Billig prüfen der request-level - (z.B. SCHWERE oder FEIN) gegen die effektive log-level des Loggers. Wenn die request-level ist niedriger als der log-level der logging-Aufruf sofort zurückgegeben.
Nach dem passieren dieser ersten (Billig -) test, der Datenlogger, weisen einen LogRecord zu beschreiben, die Protokollierung Nachricht. Es wird dann eine Filter (falls vorhanden), um eine detaillierte Prüfung, ob der Datensatz veröffentlicht werden soll. Wenn, geht es dann veröffentlichen Sie den LogRecord an seinen output-Handler.`
Bedeutet das, dass wenn ich 3 request level
log:
logger.log(Level.FINE, "Something");
logger.log(Level.WARNING, "Something");
logger.log(Level.SEVERE, "Something");
Und meine log level
schwer ist, sehe ich alle drei Protokolle, und wenn meine log level
WARNUNG ist, dann habe ich nicht sehen können, SCHWERER anmelden, ist das richtig? Und wie setze ich die log level
?
InformationsquelleAutor der Frage Thang Pham | 2010-06-11
Du musst angemeldet sein, um einen Kommentar abzugeben.
In einer log-Datei oder der standard-Ausgabe je nach Ihrer eigentlichen Protokoll-handler Konfiguration. Dies kann eingestellt werden über eine property-Datei oder direkt über das logging-API.
SEVERE
ist das wichtigste (höchste Priorität) undFINE
ist die am wenigsten wichtige Nachricht, Art der 3 gezeigt in deinem Beispiel. Also, wenn Sie Ihre log-level istSEVERE
nur dieSEVERE
Nachrichten protokolliert werden. Wenn level istFINE
alle 3-Nachrichten protokolliert werden.Dies ist sehr nützlich, wenn Sie in der realen Produktionsumgebung, können Sie sich einloggen möchten nur die Fehler und eventuell Warnungen (die - hoffentlich - ziemlich selten, aber Sie wollen wissen, über Sie), so können Sie log-level zu
WARNING
. Jedoch, in Ihre Entwicklungsumgebung, wenn z.B. Debuggen ein problem, Sie wollen sehen, alle Informationen in den Protokollen, auch wenn es erzeugt eine große Menge von log-Daten und verlangsamt die Anwendung. So setzen Sie LOGLEVEL aufFINE
oderFINEST
.Hier ist eine gute Einführung in die Java-Protokollierung.
Update: ein einfaches Beispiel von der oben genannten Seite zum konfigurieren der logger-log in eine Datei auf Ebene
FINEST
:Anmelden an der Konsole, ersetzen Sie die
FileHandler
oben mit einemConsoleHandler
:Dies ist nur ein Beispiel aber in eine echte app, es ist besser, konfigurieren Sie die Protokollierung über eine config-property-Datei.
InformationsquelleAutor der Antwort Péter Török
Den Java-TM-Logging-Übersicht ist ganz interessant, eine Antwort auf alle Ihre Fragen über die Java -
Logger
:Sehen Sie Ihre log wo die
Handler
(N) im Zusammenhang mit IhrerLogger
generieren, sagte Log (in einerConsole
oder in einemStream
...).Die Standard-Konfiguration stellt eine einzige Prozedur auf der root-logger für das senden der Ausgabe an die Konsole.
InformationsquelleAutor der Antwort VonC
Wohin es geht, ist abhängig von Ihrer Konfiguration. Es gibt dazu auch die API-docs. Der log-level ist das genaue Gegenteil von dem, was Sie sagte. Wenn Sie eine Konfiguration von
FINE
alles, wasFINE, WARNING, SEVERE
wird sich zeigen, aber wenn Sie festgelegt haben, zuSEVERE
dann nur jene kommen wird.In der Regel sollten Sie die Verwendung
FINE
beim Debuggen und wechseln Sie zuSEVERE
wenn es in einer Produktionsumgebung.InformationsquelleAutor der Antwort Andrew Hubbs