Heim >Java >javaLernprogramm >Ausführliche Erläuterung der Protokollverwaltung von Spring Boot
Vorwort
Spring Boot verwendet Commons Protokollierung in allen internen Protokollen, Die Standardkonfiguration bietet jedoch auch Unterstützung für häufig verwendete Protokolle, z. B. Java Util Logging, Log4J, Log4J2 und Logback. Jeder Logger kann so konfiguriert werden, dass er die Konsole oder Datei zur Ausgabe von Protokollinhalten verwendet.
Protokollausgabeformat
TFhHTML5 Chinese Learning Network-HTML5 Pioneer Learning Network
Die ausgegebenen Inhaltselemente lauten wie folgt:
Uhrzeit und Datum – genau Millisekunden
Protokollebene – ERROR, WARN, INFO, DEBUG oder TRACE
Prozess-ID
Trennzeichen ― ― identifiziert den Anfang des eigentlichen Protokolls
Thread-Name – in eckigen Klammern eingeschlossen (kann die Konsolenausgabe abschneiden)
Logger-Name – Verwenden Sie normalerweise den Klassennamen des Quellcodes
Protokollinhalt
Konsolenausgabe
In Spring Boot sind Protokolle der Ebenen ERROR, WARN und INFO standardmäßig für die Ausgabe an die Konsole konfiguriert.
Wir können auf zwei Arten zur DEBUG-Ebene wechseln:
1. Fügen Sie das Debug-Flag hinzu, nachdem Sie den Befehl ausgeführt haben, wie zum Beispiel: $ java -jar myapp.jar debug
2. Konfigurieren Sie application.properties
in debug=true
eingebetteter Container, Ruhezustand, Frühling) werden mehr Inhalte ausgegeben, aber die Protokolle Ihrer eigenen Anwendung werden nicht auf DEBUG-Ebene ausgegeben.
Bunte Ausgabe
Wenn Ihr Terminal ANSI unterstützt, werden die Protokolle durch Einstellen der farbigen Ausgabe besser lesbar. Unterstützt durch Setzen des Parameters application.properties
in spring.output.ansi.enabled
.
1. NIEMALS: ANSI-farbige Ausgabe deaktivieren (Standardelement)
2. ERKENNEN: Prüft, ob das Terminal ANSI unterstützt. Wenn ja, verwenden Sie die Farbausgabe (empfohlen)
3. IMMER: Verwenden Sie immer die Ausgabe im ANSI-Farbformat, wenn das Terminal dies nicht tut Unterstützen Sie es, es wird viele störende Informationen geben und es wird nicht empfohlen,
DateiausgabeTFhHTML5 Chinese Learning Network-HTML5 Pioneer Learning Network
Die Standardkonfiguration von Spring Boot wird nur auf der Konsole ausgegeben und nicht in einer Datei aufgezeichnet. Normalerweise müssen wir sie jedoch aufzeichnen eine Datei, wenn Sie sie in einer Produktionsumgebung verwenden.TFhHTML5 Chinese Learning Network – HTML5 Pioneer Learning Network
Um die Dateiausgabe zu erhöhen, müssen Sie das Attribut oder application.properties
in logging.file
konfigurieren. logging.path
TFhHTML5 Chinese Learning Network - HTML5 Pioneer Learning Network
, Einstellungsdatei, kann ein absoluter Pfad oder ein relativer Pfad sein. Zum Beispiel: logging.file
logging.file=my.log
TFhHTML5 Chinese Learning Network-HTML5 Pioneer Learning Network
TFhHTML5 Chinese Learning Network-HTML5 Pioneer Learning Network
, Legen Sie das Verzeichnis fest, die Datei logging.path
wird in diesem Verzeichnis erstellt und der Protokollinhalt wird geschrieben, z. B.: spring.log
logging.path=/var/log
TFhHTML5 Chinese Learning Network - HTML5 Pioneer Learning Network
TFhHTML5 Chinese Learning Network – HTML5 Pioneer Learning Network
Level ControlTFhHTML5 Chinese Learning Network - HTML5 Pioneer Learning Network
In Spring Boot müssen Sie es nur in konfigurieren um die Ebenenkontrolle der Protokollierung abzuschließen. application.properties
TFhHTML5 Chinese Learning Network – HTML5 Pioneer Learning Network
logging.level.*=LEVEL
TFhHTML5 Chinese Learning Network – HTML5 Pioneer Learning Network
1.logging.level
: Präfix für die Protokollebenensteuerung, * ist der Paketname oder Loggername
2. STUFE: Optionen TRACE, DEBUG, INFO, WARN, ERROR, FATAL, OFF
Beispiel:
logging.level.com.juzi=DEBUG com.juzi
Verpacken Sie alle Klassen auf DEBUG-Ebene Ausgabe
logging.level.root=WARN
Das Stammprotokoll wird bei WARN ausgegeben Ebene
Benutzerdefinierte Protokollkonfiguration
Da der Protokolldienst im Allgemeinen vor der Erstellung des ApplicationContext initialisiert wird, muss er nicht über die Konfigurationsdatei von Spring gesteuert werden.
Daher kann die Protokollsteuerung und -verwaltung weiterhin gut durch Systemeigenschaften und herkömmliche externe Spring Boot-Konfigurationsdateien unterstützt werden.
Je nach verschiedenen Protokollsystemen können Sie den Namen der Konfigurationsdatei nach den folgenden Regeln organisieren und sie wird korrekt geladen:
1. Logback: logback-spring.xml, logback-spring.groovy, logback.xml, logback.groovy Logback-Protokollkonfiguration
2. Log4j: log4j-spring.properties, log4j-spring.xml, log4j .properties, log4j .xml
3.Log4j2: log4j2 -spring.xml , log4j2.xml
4.JDK (Java Util Logging): logging.properties
Spring Boot empfiehlt offiziell die Verwendung von Dateinamen mit -spring als Protokollkonfiguration (z. B. die Verwendung von Logback- spring .xml, nicht logback.xml)
Angepasstes Ausgabeformat
In Spring Boot können Sie das Ausgabeformat steuern, indem Sie die folgenden Parameter in application.properties
konfigurieren:
1 .logging.pattern.console
: Definieren Sie die Stilausgabe an die Konsole (JDK Logger wird nicht unterstützt)
2.logging.pattern.file
: Definieren Sie den Stil der Ausgabe in die Datei (JDK Logger wird nicht unterstützt)
Das obige ist der detaillierte Inhalt vonAusführliche Erläuterung der Protokollverwaltung von Spring Boot. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!