Contexte: Parce que la version à partir de Spring Boot 1.4 doit utiliser LOG4J2 , les formats pris en charge sont JSON et XML. Cette pratique utilise principalement la description du journal de définition du format de XML.
Spring Boot 1.5.8.Réliez les étapes de développement pour l'introduction de log4j2 sont les suivantes:
1. Tout d'abord, excluez le stemp-starter-starter-Logging sous les packages Spring-Boot-Starter-Web et Spring-Boot-Starter, puis introduisez le package Spring-Boot-Starter-Log4J2.
<dependency> <proupId> org.springframework.boot </proupId> <Artifactid> printemp-boot-starter-web </retifactid> <exclusions> <cuslusion> <proupId> org.springframework.boot </prouprid> <esttifactid> printemps-boot-starter-engging </ artifactid> </ exclusion> </ exclusions> </ dépendances> <! ---https: //mvnrepository.com/artifact/org.springframework.boot/spring-boot-starter-log4j2--> <dependency> <proupId> org.springframework.boot </proupId> <ArtifActid> Spring-boot-T-starter-Log4j2 </ artId> <version> 1.5.8.release </DERNIERS> </DENDENCENCE>
2. Définissez l'emplacement de la ressource de fichier dans POM afin que les variables dans le fichier puissent être modifiées via des propriétés de POM.
<FinalName> $ {project.name} </ finalName> <SourceDirectory> SRC / Main / Java </ sourceDirectory> <SestSourceDirectory> SRC / TEST / Java </ TestSourceDirectory> <Dereces> <Resource> <Arnutory> Src / Main / Resources </Arterory> <filter> true </ Filetering> <clure> ** / * </ include> </ incluse> </ ressource> </ Ressources> Définir les attributs de remplacement variables
<preperties> <project.build.sourceencoding> utf-8 </project.build.sourceencoding> <project.reporting.outputencoding> utf-8 </project.reporting.outputencoding> <java.version> 1.8 </java.version> <log4j2.Level> Debug </log4j2 <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.errror.path> <log4j2.package.path> / opt / appstack / apache-tomcat / logs / $ {project.name} -kk </log4j2.package.path> </ properties> 3. Étant donné que Spring Boot a un effet protecteur sur les fichiers de configuration YML ou les propriétés, un plug-in est nécessaire pour remplacer les variables du fichier de configuration.
<GluginManagement> <Glugins> <Glugin> <GroupId> org.springframework.boot </prôdId> <ArtifActid> Spring-Boot-Maven-Plugin </ ArtifactId> </Glugin> <! - Spring-Boot afin de protéger Application.yml et application.properties, la protection de la protection de la protection pour la protection pour la protection de l'application. et application.properties, l'espace réservé par défaut $ {...} est modifié en @ ... @ -> <! - Afin d'utiliser la variable Maven pour les fichiers YML et les propriétés de Spring Boot pour le remplacer, l'espace chargement $ {} -> <Glugin> <Artifactid> Maven-Resources-Plugin </ Artifactid> <configuration> <UsedFaultDelimiters> true </ UsedFaultDelimiters> </ Configuration> </ Plugin> </Glugins> </ PluginManagement>4. Cet exemple utilise la configuration YML de Spring Boot et configure le fichier de configuration LOG4J2 dans Application.yml
enregistrement:
config: classpath: log4j2.xml
Si vous souhaitez configurer différents fichiers de configuration log4j2 pour différents environnements, vous pouvez définir la valeur de configuration dans l'application correspondante.yml
5. Configurez le fichier de configuration de log4j2.xml
<? xml version = "1.0" Encoding = "UTF-8"?> <Configuration Status = "Warn"> <! - Global Paramètres -> <Propriétés> <Propriété = "Pattern">% D {Yyyy-mm-dd HH: MM: SS, SS}% 5P% C {1}:% L -% M% N </ Property> niveau = "debug"> <appenderRef ref = "console"> </ appenderRef> <appenderRef ref = "rolling_file"> </ appenderRef> </ root> <! - écriture com.kk.springboot.demo "niveau =" $ {log4j2.level} Ref = "File"> </PrenderRef> </ Logger> </ Logger> <Penders> <console name = "console" cible = "System_out" suivi = "true"> <! - Console uniquement les informations à niveau et le niveau supérieur -> <thresholdFilter Level = "info" onMatch = "Accepter" OnMism = "Deny" /> <atmainlad> </atmatLayout> </console> <! - Les annexes de la même source peuvent définir plusieurs RollingFiles, définissant les journaux stockés par jour -> <rollingfile name = "rolling_file" filename = "$ {log4j2.root.path} .log" filepattern = "$ {log4j2.root.path} _% d {yyyy-mmmmmmmm <ThresholdFilter Level = "info" onMatch = "Accept" OnMismatch = "Deny" /> <PattemLayout> <Mattern> $ {Pattern} </ Pattern> </ Pattemlayout> <Golicies> <TimeBasedtriggergPolicy Interval = "1" /> <! - <SIZEBasedTriggerringPolicy size = "1 kb" /> -> </cargates> name = "file" filename = "$ {log4j2.package.path} .log"> <! - <! - <! - <! - Console uniquement les informations au niveau et au-dessus (onMatch), et autres rejet directement (onMismatch) -> -> <thatresholdfilter niveau = "debug" onmatch = "accepter" onISMatch = "deny" /> <mattern> $ {motif} </atmat> </atmandlayout> </fichier> </neckers> </FIGIGRAGE>6. Log4j2 Les journaux sont utilisés dans le code du programme Java.
Logger statique privé = loggerfactory.getLogger (userController.class); log.info ("Entrée dans entityParam"); ......7. En modifiant l'heure du système, les journaux de test sont stockés et configurés quotidiennement.
L'exemple d'exemple ci-dessus du fichier journal log4j2 Spring Boot personnalisé est tout le contenu que je partage avec vous. J'espère que vous pourrez vous faire référence et j'espère que vous pourrez soutenir Wulin.com plus.