Vorwort: Dieser Artikel ist im Grunde das offizielle Dokument für die Übersetzung!
Spring Boot verwendet Commons -Protokollierung als internes Protokollierungssystem und bietet Standardkonfigurationen für Java -Util -Protokollierung, Log4j2 und Logback. Wenn Spring -Boot -Starter verwendet werden, wird der Logback standardmäßig für die Protokollierung verwendet.
1. Protokollformat
Das Standardprotokollausgangsformat im Spring Start lautet wie folgt:
2014-03-05 10: 57: 51.112 Info 45469 --- [Main] org.apache.catalina.core.Standardengine:
Servlet Engine starten: Apache Tomcat/7.0.52
2014-03-05 10: 57: 51.253 Info 45469 --- [Ost-Startstop-1] OACCC [Tomcat]. [Localhost]. [/]:
Initialisieren von Frühlingseingebettem -WebanapplicationContext
2014-03-05 10: 57: 51.253 Info 45469 --- [Ost-StartStop-1] Osweb.Context.Contextloader:
Root WebApplicationContext: Initialisierung in 1358 ms abgeschlossen
2014-03-05 10: 57: 51.698 Info 45469 --- [Ost-StartStop-1] OSBCEVLETRETRIGREGISTRAGEBEAN:
Mapping Servlet: 'DispatcherServlet' zu [/]
2014-03-05 10: 57: 51.702 Info 45469 --- [Ost-StartStop-1] osbcembeded.FilterregistrationBean:
Mapping -Filter: 'HiddenhttpMethodFilter' zu: [/*]
Die folgenden Elemente werden ausgegeben:
1. Datum und Uhrzeit-entspricht Millisekunden und einfacher Sortieren nach Zeit
2. Log Level-Error, Warn, Info, Debugg, Trace
3. Prozess -ID -Nummer
V.
5. Threadname-in quadratischen Klammern eingeläutet
6. Der Name des von Protokolls verwendeten Klassennamens entspricht normalerweise
HINWEIS: Der Logback hat keinen tödlichen Niveau (MAP -to -Fehler)
2. Konsolenausgabe
In der Standardprotokonfiguration werden Nachrichten beim Schreiben in die Konsole wiedergegeben und standardmäßig Fehler, Warn- und Info -Levels wiederholt. Sie können den Debug -Modus beim Starten auch aktivieren. Der Startbefehl lautet wie folgt: Java -jar yourapp.jar - -debug
Hinweis: Sie können auch Debug = true in der Konfigurationsdatei von Application.Properties angeben, um Debug zu aktivieren. Sobald der Debug -Modus eingeschaltet ist, gibt die Konsole gleichzeitig Containerinformationen, Winterschlafinformationen und Spring -Startinformationen aus.
3. Dateiausgabe
Standardmäßig gibt Spring Start nur Protokolle für Konsole aus, nicht um Dateien zu protokollieren. Wenn Sie Protokolle in Protokolldateien schreiben möchten, müssen Sie die legging.file oder Protokollierung.Path in der Konfigurationsdatei application.Properties festlegen.
Hinweis: Hier ist die Beziehung, dh wenn Sie die Protokollierung.file oder Protokollierung konfigurieren, ist der Effekt der gleiche.
In der folgenden Tabelle wird angezeigt, wie die Ausgabe der Konfigurationsdatei ausgeführt wird:
| Protokollierung.file | Protokollierung.Path | Beispiel | veranschaulichen |
| Keine der beiden Konfigurationen ist konfiguriert und nur für die Konsole ausgegeben | |||
| Geben Sie die Datei an | my.log | Schreibt in die angegebene Protokolldatei. Der Dateiname kann ein genauer Ort oder ein relatives Verzeichnis sein | |
| Angegebenes Verzeichnis | /var/log | Schreiben Sie Protokolldateien in das angegebene Verzeichnis, das ein genauer Ort oder ein relatives Verzeichnis sein kann |
Wenn die Größe der Protokolldatei 10 MB erreicht, wird sie standardmäßig abgeschnitten und in die neue Protokolldatei ausgegeben.
HINWEIS: Die Protokollkonfiguration ist unabhängig von der tatsächlichen Protokollkomponente, dh wenn die für den Logback angegebene konfigurierte Eigenschaft logback.configurationFile ist, verwaltet Spring Boot die Protokollkomponente nicht.
4. Protokollebene
Alle unterstützten Protokollierungssysteme können die Protokollpegel in der Spring -Umgebung wie application.Properties angeben und "Protokollierung.level.*= Level" verwenden, um Protokollebenen anzugeben. Der Wert von "Level" kann Spuren, Debuggen, Infos, Warn, Fehler, tödlich, ausgeschaltet sein. Das Konfigurationsbeispiel lautet wie folgt:
logging.level.root = Warn #Root -Protokoll -Ausgänge bei Warn Level logging.level.org.springframework.web = Debuggen Sie das Protokoll unter org.springframework.web -Paket Ausgaben bei Debug -Level -Protokollierung.LEVEL.org.hibernate = ERROR DAS LOG UNTERSCHALT UNTERSCHAFT UNTERSCHAFT UNTER #ODERG.HIBERNATE PAKTURE AUSGABE AUF URGEL.
Wenn wir unsere Anwendungsprotokollebene angeben müssen, können wir auch dieselbe Methode wie folgt verwenden:
logging.level.com.chhliu = info
Das "com.chhliu" in der obigen Konfiguration ist der Paketname unserer Anwendung.
5. Benutzerdefinierte Protokollausgabeformat
Wir können das Protokollausgangsformat konfigurieren, das wir durch legging.pattern.file und logging.pattern.level benötigen, zum Beispiel:
logging.pattern.console = %d {yyyy/mm/dd-hh: mm: ss} [ %thread] %-5LEVEL %Logger- %MSG %N Logging.pattern.file = %d {yyyyyy/mm/dd-Hh: mm} [ %thread] %-5level-5level-5level-5level-5level-5-Logger- %logger- %- %- %- %-5-Logger- %-5-Logger- %-5level-5-Logger-Hhh. Hinweis: Die obige Konfiguration funktioniert nur auf dem Logback
6. Verwenden Sie log4j, um sich zu protokollieren
Wie bereits erwähnt, besteht unsere Standardeinstellung darin, den Logback als Protokollsystem zu verwenden. Also, wenn wir Log4J verwenden möchten, um sich zu protokollieren, was sollen wir dann tun? Wir müssen der POM -Datei Log4J -Starter hinzufügen und den Logback wie folgt ausschließen:
<Depepecy> <GroupId> org.springFramework.boot </GroupId> <artifactId> Spring-Boot-Starter </artifactId> <ausschlüsse> <exklusion> <gruppe> org.springFramework <gruppe> org.springFramework.boot </gruppeId> <artifactid> Spring-Boot-Starter-Log4j </artifactid> </abhängig>
Das obige ist der gesamte Inhalt dieses Artikels. Ich hoffe, es wird für das Lernen aller hilfreich sein und ich hoffe, jeder wird Wulin.com mehr unterstützen.