Heim  >  Artikel  >  Java  >  Ausführliche Erläuterung der Protokollverwaltung von Spring Boot

Ausführliche Erläuterung der Protokollverwaltung von Spring Boot

巴扎黑
巴扎黑Original
2017-08-22 16:43:141745Durchsuche

VorwortTFhHTML5 Chinese Learning Network - HTML5 Pioneer Learning Network

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. TFhHTML5 Chinese Learning Network-HTML5 Pioneer Learning Network
Protokollausgabeformat

TFhHTML5 Chinese Learning Network-HTML5 Pioneer Learning Network

Die ausgegebenen Inhaltselemente lauten wie folgt: TFhHTML5 Chinese Learning Network – HTML5 Pioneer Learning Network

  • 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

KonsolenausgabeTFhHTML5 Chinese Learning Netzwerk – HTML5 Pioneer Learning Network

In Spring Boot sind Protokolle der Ebenen ERROR, WARN und INFO standardmäßig für die Ausgabe an die Konsole konfiguriert. TFhHTML5 Chinese Learning Network-HTML5 Pioneer Learning Network

Wir können auf zwei Arten zur DEBUG-Ebene wechseln: TFhHTML5 Chinese Learning Network-HTML5 Pioneer Learning Network
TFhHTML5 Chinese Learning Network – HTML5 Pioneer Learning Network

1. Fügen Sie das Debug-Flag hinzu, nachdem Sie den Befehl ausgeführt haben, wie zum Beispiel: $ java -jar myapp.jar debugTFhHTML5 Chinese Learning Network – HTML5 Pioneer Learning Network
TFhHTML5 Chinese Learning Network - HTML5 Pioneer Learning Network

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. TFhHTML5 Chinese Learning Network-HTML5 Pioneer Learning Network

Bunte AusgabeTFhHTML5 Chinese Learning Network-HTML5 Pioneer Learning Network

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. TFhHTML5 Chinese Learning Network – HTML5 Pioneer Learning Network

1. NIEMALS: ANSI-farbige Ausgabe deaktivieren (Standardelement) TFhHTML5 Chinese Learning Network – HTML5 Pioneer Learning Network
TFhHTML5 Chinese Learning Network - HTML5 Pioneer Learning Network

2. ERKENNEN: Prüft, ob das Terminal ANSI unterstützt. Wenn ja, verwenden Sie die Farbausgabe (empfohlen) TFhHTML5 Chinese Learning Net – HTML5 Pioneer Learning Network
TFhHTML5 Chinese Learning Network – HTML5 Pioneer Learning Network

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, TFhHTML5 Chinese Learning Network-HTML5 Pioneer Learning Network

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.pathTFhHTML5 Chinese Learning Network - HTML5 Pioneer Learning Network

1.

, Einstellungsdatei, kann ein absoluter Pfad oder ein relativer Pfad sein. Zum Beispiel: logging.filelogging.file=my.logTFhHTML5 Chinese Learning Network-HTML5 Pioneer Learning Network
TFhHTML5 Chinese Learning Network-HTML5 Pioneer Learning Network

2.

, Legen Sie das Verzeichnis fest, die Datei logging.path wird in diesem Verzeichnis erstellt und der Protokollinhalt wird geschrieben, z. B.: spring.loglogging.path=/var/logTFhHTML5 Chinese Learning Network - HTML5 Pioneer Learning Network

Die Protokolldatei wird in einer Größe von 10 MB abgeschnitten und eine neue Protokolldatei wird generiert: ERROR, WARN, INFO *

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.propertiesTFhHTML5 Chinese Learning Network – HTML5 Pioneer Learning Network

Konfigurationsformat:

logging.level.*=LEVELTFhHTML5 Chinese Learning Network – HTML5 Pioneer Learning Network

1.logging.level: Präfix für die Protokollebenensteuerung, * ist der Paketname oder LoggernameTFhHTML5 Chinese Learning Network-HTML5 Pioneer Learning Network
TFhHTML5 Chinese Learning Network-HTML5 Pioneer Learning Net

2. STUFE: Optionen TRACE, DEBUG, INFO, WARN, ERROR, FATAL, OFFTFhHTML5 Chinese Learning Network - HTML5 Pioneer Learning Network
TFhHTML5 Chinese Learning Network – HTML5 Pioneer Learning Network

Beispiel: TFhHTML5 Chinese Learning Network – HTML5 Pioneer Learning Network

logging.level.com.juzi=DEBUG com.juzi Verpacken Sie alle Klassen auf DEBUG-Ebene Ausgabe TFhHTML5 Chinese Learning Network – HTML5 Pioneer Learning Network
TFhHTML5 Chinese Learning Network – HTML5 Pioneer Learning Network

logging.level.root=WARN Das Stammprotokoll wird bei WARN ausgegeben EbeneTFhHTML5 Chinese Learning Network-HTML5 Pioneer Learning Network

Benutzerdefinierte ProtokollkonfigurationTFhHTML5 Chinese Learning Network-HTML5 Pioneer Learning Network

Da der Protokolldienst im Allgemeinen vor der Erstellung des ApplicationContext initialisiert wird, muss er nicht über die Konfigurationsdatei von Spring gesteuert werden. TFhHTML5 Chinese Learning Network - HTML5 Pioneer Learning Network
Daher kann die Protokollsteuerung und -verwaltung weiterhin gut durch Systemeigenschaften und herkömmliche externe Spring Boot-Konfigurationsdateien unterstützt werden. TFhHTML5 Chinese Learning Network - HTML5 Pioneer Learning Network

Je nach verschiedenen Protokollsystemen können Sie den Namen der Konfigurationsdatei nach den folgenden Regeln organisieren und sie wird korrekt geladen: TFhHTML5 Chinese Learning Network – HTML5 Pioneer Learning Network

1. Logback: logback-spring.xml, logback-spring.groovy, logback.xml, logback.groovy Logback-Protokollkonfiguration TFhHTML5 Chinese Learning Netzwerk – HTML5 Pioneer Learning Network
TFhHTML5 Chinese Learning Network – HTML5 Pioneer Learning Network

2. Log4j: log4j-spring.properties, log4j-spring.xml, log4j .properties, log4j .xmlTFhHTML5 Chinese Learning Network – HTML5 Pioneer Learning Network
TFhHTML5 Chinese Learning Network – HTML5 Pioneer Learning Network

3.Log4j2: log4j2 -spring.xml , log4j2.xmlTFhHTML5 Chinese Learning Network – HTML5 Pioneer Learning Network
TFhHTML5 Chinese Learning Network – HTML5 Pioneer Learning Network

4.JDK (Java Util Logging): logging.propertiesTFhHTML5 Chinese Learning Network - HTML5 Pioneer Learning Network

Spring Boot empfiehlt offiziell die Verwendung von Dateinamen mit -spring als Protokollkonfiguration (z. B. die Verwendung von Logback- spring .xml, nicht logback.xml) TFhHTML5 Chinese Learning Network-HTML5 Pioneer Learning Network

Angepasstes AusgabeformatTFhHTML5 Chinese Learning Network-HTML5 Pioneer Learning Netzwerk

In Spring Boot können Sie das Ausgabeformat steuern, indem Sie die folgenden Parameter in application.properties konfigurieren: TFhHTML5 Chinese Learning Network – HTML5 Pioneer Learning Network

1 .logging.pattern.console: Definieren Sie die Stilausgabe an die Konsole (JDK Logger wird nicht unterstützt) TFhHTML5 Chinese Learning Network-HTML5 Pioneer Learning Network
TFhHTML5 Chinese Learning Network-HTML5 Pioneer Learning Netzwerk

2.logging.pattern.file: Definieren Sie den Stil der Ausgabe in die Datei (JDK Logger wird nicht unterstützt)

TFhHTML5 Chinese Learning Network – HTML5 Pioneer Learning Network

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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn