Heim >Java >javaLernprogramm >Detaillierte Einführung in die Protokollverwaltung von Spring Boot
Dieser Artikel gibt Ihnen hauptsächlich eine ausführliche Einführung in die relevanten Informationen zur Spring Boot-Protokollverwaltung. Die Einführung im Artikel ist sehr detailliert. Lassen Sie uns gemeinsam einen Blick darauf werfen.
Vorwort
Spring Boot verwendet Commons Logging für alle internen Protokolle, aber die Standardkonfiguration bietet auch Unterstützung für allgemeine Protokolle,
wie zum Beispiel: 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
2016-08-19 10:22:04.233 INFO 7368 --- [ main] com.juzi.AsyncTest : Started AsyncTest in 10.084 seconds (JVM running for 12.545)
Die Ausgabeinhaltselemente lauten wie folgt:
Uhrzeit und Datum – auf Millisekunden genau
Protokollebene – FEHLER, WARNUNG, INFO, DEBUG oder TRACE
Prozess-ID
Trennzeichen – identifiziert den Anfang des eigentlichen Protokolls
Thread-Name – in eckigen Klammern eingeschlossen (kann die Konsolenausgabe abschneiden)
Loggername – normalerweise den Klassennamen des Quellcodes verwenden
Protokollinhalt
Konsolenausgabe
In Spring Boot sind Protokolle auf ERROR-, WARN- und INFO-Ebene so konfiguriert, dass sie standardmäßig an die Konsole ausgegeben werden.
Wir können auf zwei Arten zur DEBUG-Ebene wechseln:
1. Fügen Sie das Flag –debug hinzu, nachdem Sie den Befehl ausgeführt haben, z. B.: $ java -jar myapp.jar –debug
2. Konfigurieren Sie application.properties
in debug=true
. Wenn dieses Attribut auf true gesetzt ist, gibt der Kern-Logger (einschließlich eingebetteter Container, Ruhezustand, Spring) mehr Inhalte aus, aber die Protokolle Ihrer eigenen Anwendung werden nicht als ausgegeben DEBUG-Ebene.
Farbige Ausgabe
Wenn Ihr Terminal ANSI unterstützt, wird das Protokoll durch Einstellen der farbigen Ausgabe besser lesbar. Unterstützt durch Setzen des Parameters application.properties
in spring.output.ansi.enabled
.
1. NIEMALS: ANSI-Farbausgabe deaktivieren (Standardelement)
2. ERKENNEN: Prüft, ob das Terminal ANSI unterstützt. Wenn ja, verwenden Sie die Farbausgabe (empfohlenes Element)
3. IMMER: Verwenden Sie immer die Ausgabe im ANSI-Farbformat. Wenn das Terminal dies nicht unterstützt, werden viele Interferenzinformationen angezeigt. Die Verwendung von
wird nicht empfohlen Dateiausgabe
Die Standardkonfiguration von Spring Boot wird nur an die Konsole ausgegeben und nicht in einer Datei aufgezeichnet. Wenn wir sie jedoch in einem verwenden, müssen wir sie normalerweise in einer Datei aufzeichnen Produktionsumgebung.
Um die Dateiausgabe zu erhöhen, müssen Sie das Attribut application.properties
oder logging.file
in logging.path
konfigurieren.
1.logging.file
, Einstellungsdatei, kann ein absoluter Pfad oder ein relativer Pfad sein. Zum Beispiel: logging.file=my.log
2. logging.path
, legen Sie das Verzeichnis fest, die Datei spring.log
wird im Verzeichnis erstellt und der Protokollinhalt wird geschrieben, wie zum Beispiel: logging.path=/var/log
Die Protokolldatei wird gekürzt, wenn die Größe 10 MB beträgt, und es wird eine neue Protokolldatei generiert. Die Standardebenen sind: ERROR, WARN, INFO *
Ebenenkontrolle
In Spring In Boot müssen Sie es nur in application.properties
konfigurieren, um die Ebenensteuerung der Protokollierung abzuschließen.
Konfigurationsformat: logging.level.*=LEVEL
1.logging.level
: Präfix für die Protokollebenensteuerung, * ist der Paketname oder Loggername
2.EBENE: Option TRACE, DEBUG, INFO, WARN, ERROR, FATAL, OFF
Beispiel:
logging.level.com.juzi=DEBUG com.juzi
Alle Klassen unter dem Paket werden auf DEBUG-Ebene ausgegeben
logging.level.root=WARN
Das Root-Protokoll wird auf WARN-Ebene ausgegeben
Benutzerdefinierte Protokollkonfiguration
Da der Protokolldienst im Allgemeinen initialisiert wird, bevor der ApplicationContext erstellt wird, ist dies der Fall müssen nicht durch die Dateisteuerung von Spring Configuration geleitet 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 er wird korrekt geladen:
1.Logback:logback-spring.xml, logback-spring.groovy, logback.xml, logback.groovy logback日志配置 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 zuerst. Als Ihre Protokollkonfiguration (z. B. Verwendung von logback-spring.xml anstelle von logback.xml)
Benutzerdefiniertes Ausgabeformat
In Spring Boot können Sie übergeben application.properties
Konfigurieren Sie die folgenden Parameter, um das Ausgabeformat zu steuern:
1.logging.pattern.console
: Definieren Sie den Ausgabestil auf der Konsole (JDK Logger wird nicht unterstützt)
2 .logging.pattern.file
: Ausgabe im Definitionsstil in eine Datei (JDK Logger wird nicht unterstützt)
Das obige ist der detaillierte Inhalt vonDetaillierte Einführung in die Protokollverwaltung von Spring Boot. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!