Heim  >  Artikel  >  Java  >  Detaillierte Einführung in die Protokollverwaltung von Spring Boot

Detaillierte Einführung in die Protokollverwaltung von Spring Boot

黄舟
黄舟Original
2018-05-11 11:16:291647Durchsuche

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.juziAlle 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.propertiesKonfigurieren 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!

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