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='.'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='.'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='.'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!