Heim  >  Artikel  >  Java  >  Detaillierte Erläuterung der Verwendung von log4j zum Aufzeichnen von Protokollen in Spring Boot

Detaillierte Erläuterung der Verwendung von log4j zum Aufzeichnen von Protokollen in Spring Boot

黄舟
黄舟Original
2017-03-30 17:55:322108Durchsuche

In diesem Artikel wird hauptsächlich die Einführung von log4j in Spring Boot sowie einige grundlegende Verwendungsmöglichkeiten vorgestellt. Freunde in Not können 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. In diesem Artikel wird hauptsächlich die Verwendung von log4j zum Aufzeichnen von Protokollen in Spring Boot vorgestellt. Wenn Sie interessiert sind, kommen Sie und lernen Sie gemeinsam.

Einführung der log4j-Abhängigkeit

Beim Erstellen des Spring Boot-Projekts haben wir Spring-Boot-Starter eingeführt, der Spring-Boot-Starter-Logging und diese Abhängigkeit enthält Der Inhalt ist
Logback, das Standardprotokollierungsframework von Spring Boot. Bevor wir log4j einführen, müssen wir die Abhängigkeiten dieses Pakets ausschließen und dann die Abhängigkeiten von log4j wie folgt einführen:

<dependency> 
 <groupId>org.springframework.boot</groupId>
 <artifactId>spring-boot-starter</artifactId>
 <exclusions>
 <exclusion> 
  <groupId>org.springframework.boot</groupId>
  <artifactId>spring-boot-starter-logging</artifactId>
 </exclusion>
 </exclusions>
</dependency>
<dependency> 
 <groupId>org.springframework.boot</groupId>
 <artifactId>spring-boot-starter-log4j</artifactId>
</dependency>

Konfigurieren Sie log4j .properties

Nach der Einführung der log4j-Abhängigkeit müssen Sie nur noch die Konfigurationsdatei log4j.properties im Verzeichnis src/main/resources hinzufügen, um mit der Konfiguration und Verwendung der Anwendungsprotokolle zu beginnen.

Konsolenausgabe

Setzen Sie durch die folgende Konfiguration die Ausgabeebene des Root-Protokolls auf INFO, und der Appender gibt stdout an die Konsole aus

# LOG4J配置
log4j.rootCategory=INFO, stdout
# 控制台输出
 log4j.appender.stdout=org.apache.log4j.ConsoleAppender 
 log4j.appender.stdout.layout=org.apache.log4j.PatternLayout 
 log4j.appender.stdout.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss,SSS} %5p %c{1}:%L - %m%n

Ausgabe in Datei

In der Entwicklungsumgebung geben wir problemlos einfach an die Konsole aus, aber in der Produktions- oder Testumgebung kann der Protokollinhalt beibehalten werden, um die Nachverfolgung zu erleichtern die Ursache des Problems.
Sie können den folgenden Appender-Inhalt zur täglichen Ausgabe in verschiedene Dateien hinzufügen. Sie müssen außerdem einen Appender mit dem Namen „file“ zu log4j.rootCategory hinzufügen.
Auf diese Weise kann das Root-Protokoll in „logs/“ ausgegeben werden. all.log in der Datei.

#
log4j.rootCategory=INFO, stdout, file
# root日志输出
log4j.appender.file=org.apache.log4j.DailyRollingFileAppender 
log4j.appender.file.file=logs/all.log 
log4j.appender.file.DatePattern=&#39;.&#39;yyyy-MM-dd 
log4j.appender.file.layout=org.apache.log4j.PatternLayout 
log4j.appender.file.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss,SSS} %5p %c{1}:%L - %m%n

Klassifizierungsausgabe

1. Die Ausgabe kann nach verschiedenen Paketen erfolgen. Durch Definieren eines Appenders, der an logs/my.log ausgibt, und Festlegen der Protokollebene
unter dem com.didispace-Paket auf DEBUG-Ebene wird der Appender auf einen Appender namens didifile festgelegt, der an logs/my.log ausgibt.

# com.juzi包下的日志配置
log4j.category.com.juzi=DEBUG, didifile
# com.didispace下的日志输出
log4j.appender.didifile=org.apache.log4j.DailyRollingFileAppender 
log4j.appender.didifile.file=logs/my.log 
log4j.appender.didifile.DatePattern=&#39;.&#39;yyyy-MM-dd 
log4j.appender.didifile.layout=org.apache.log4j.PatternLayout 
log4j.appender.didifile.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss,SSS} %5p %c{1}:%L ---- %m%n

kann verschiedene Ebenen klassifizieren, z. B. die Ausgabe der FEHLERebene in eine bestimmte Protokolldatei. Die spezifische Konfiguration kann wie folgt sein.

og4j.logger.error=errorfile 
# error日志输出
log4j.appender.errorfile=org.apache.log4j.DailyRollingFileAppender 
log4j.appender.errorfile.file=logs/error.log 
log4j.appender.errorfile.DatePattern=&#39;.&#39;yyyy-MM-dd 
log4j.appender.errorfile.Threshold = ERROR 
log4j.appender.errorfile.layout=org.apache.log4j.PatternLayout 
log4j.appender.errorfile.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss,SSS} %5p %c{1}:%L - %m%n

Oben finden Sie eine detaillierte Erklärung zur Verwendung von log4j zum Aufzeichnen von Protokollen in Spring Boot. Weitere verwandte Inhalte finden Sie auf der chinesischen PHP-Website (www.php.cn).

Das obige ist der detaillierte Inhalt vonDetaillierte Erläuterung der Verwendung von log4j zum Aufzeichnen von Protokollen in 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