Hintergrund: Da die Version von Spring Start 1.4 log4j2 verwendet wird , sind die unterstützten Formate JSON und XML. Diese Praxis verwendet hauptsächlich die Formatdefinition -Protokollbeschreibung von XML.
Spring Boot 1.5.8.Verklären Sie die Entwicklungsschritte für die Einführung log4j2 sind wie folgt:
1. Ausschließen von Spring-Boot-Starter-Loggen unter den Paketen für Spring-Boot-Starter-Web- und Spring-Boot-Starter-Starter-Starter-Starter-Starter-Starter-Starter-Starter-Pakete.
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> <exclusions> <exclusion> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-logging</artifactId> </exclusion> </exclusions></dependency> <! ---https: //mvnrepository.com/artifact/org.springframework.boot/spring-bootstarter-log4j2-> <depectIncy> <gruppe> org.springframework <version> 1.5.8.Release </Version> </abhängig>
2. Stellen Sie den Speicherort der Dateiressourcen in POM so ein, dass Variablen in der Datei durch Eigenschaften in POM geändert werden können.
<finalName>${project.name}</finalName><sourceDirectory>src/main/java</sourceDirectory><testSourceDirectory>src/test/java</testSourceDirectory><resources> <resource> <directory>src/main/resources</directory> <filtering>true</filtering> <includes> <Clycleat> **/*</include> </include> </ressourcen> </ressourcen> Setzen Sie variable Ersatzattribute
<Properties> <project.build.sourceEncoding> utf-8 </project.build.SourceCoding> <project.reporting.outputcoding> utf-8 </project.reporting.outputcodeding <log4j2.root.path>/opt/appstack/apache-tomcat/logs/$ {project.name} </log4j2.root.path> <log4j2.Error.path>/opt/Appstack/Apache-tomcat/logs/$ {project.name} -ERror </log4j2.Paths <log4j2.package.path>/opt/appstack/apache-tomcat/logs/$ {project.name} -kk </log4j2.package.path> </properties> 3. Da der Spring-Boot einen Schutzeffekt auf Konfigurationsdateien YML oder Eigenschaften hat, ist ein Plug-In erforderlich, um Variablen in der Konfigurationsdatei zu ersetzen.
<pluginmanagement> <plugins> <plugin> <GroupID> org.springFramework.boot </GroupId> <artifactId> Spring-Boot-Maven-Plugin </artifactID> </plugin> <!-Spring-Boot, um die Anwendung zu schützen. application.yml und application.properties, der Standard-Platzhalter $ {...} wird an @... @-> <! <Codierung> utf-8 </codieren> <nutzefaultDelimiters> true </usedefaultDelimiters> </configuration> </plugin> </plugins> </pluginmanagement>4. Dieses Beispiel verwendet die YML
Protokollierung:
Konfiguration: ClassPath: log4j2.xml
Wenn Sie verschiedene Log4J2 -Konfigurationsdateien für verschiedene Umgebungen konfigurieren möchten, können Sie den Konfigurationswert in der entsprechenden Anwendung.yml festlegen
5. Konfigurieren Sie die Konfigurationsdatei von log4j2.xml
<?xml version="1.0" encoding="UTF-8" ?><configuration status="WARN"> <!--Global Parameters--> <Properties> <Property name="pattern">%d{yyyy-MM-dd HH:mm:ss,SS} %5p %c{1}:%L - %m%n</Property> </Properties> <Loggers> <Root Level = "Debug"> <AppenderRef ref = "console"> </appenderRef> <AppenderRef ref = "rolling_file"> </AppenderRef> </root> <!-write com.kk.springboot.demo to file-> <logger name = "com.kk.springboot.demo" $ "appringboot.demo" $ "$"> appringboot.demo "$" $ "$"> appingboot.demo "$" $ "$"> appingboot.demo "$" $ "$"> appingboot.demo " ref = "file"> </AppenderRef> </logger> </logger> <appenders> <console name = "console" target = "system_out" folge = "true"> <!-Konsole gibt nur Informationen auf Level und überstufig aus-> <ThresholdFilter-Level = "Info" musterlayout ". </Musterlayout> </console> <!-Appender aus derselben Quelle können mehrere Rollingfiles definieren, und definieren Protokoll, die am Tag gespeichert sind-> <RollingFile name = "rolling_file" Dateiname = "$ {log4j2.RoT.Path} .Log" filePatter = "$ {log4j2. <ThresholdFilter Level = "Info" OnMatch = "Accept" OnMisMatch = "Deny"/> <musterlayout> <Muster> $ {Muster} </musterteile> </musterlayout> <Policies> <zeitbasierte TregeringPolicy Interval = "1"/> <! name="file" fileName="${log4j2.package.path}.log"> <!--<!--<!--<!--Console only outputs information at level and above (onMatch), and other directly rejects (onMismatch) –>--> <ThresholdFilter level="DEBUG" onMatch="ACCEPT" onMismatch="DENY"/> <PatternLayout> <Muster> $ {muster} </muster> </musterlayout> </file> </appenders> </configuration>6. Log4J2 -Protokolle werden im Java -Programmcode verwendet.
private static logger log = loggerfactory.getLogger (usercontroller.class); log.info ("In entityParam eingeben");7. Durch Ändern der Systemzeit werden die Testprotokolle täglich gespeichert und konfiguriert.
Die obige Beispielerläuterung für Spring Start benutzerdefinierte log4j2 -Protokolldatei ist der gesamte Inhalt, den ich mit Ihnen teile. Ich hoffe, Sie können Ihnen eine Referenz geben und ich hoffe, Sie können wulin.com mehr unterstützen.