Antecedentes: debido a que la versión que comienza desde Spring Boot 1.4 tiene que usar LOG4J2 , los formatos compatibles son JSON y XML. Esta práctica utiliza principalmente la descripción del registro de definición de formato de XML.
Spring Boot 1.5.8. Liberación Los pasos de desarrollo para introducir LOG4J2 son los siguientes:
1. Primero, excluya el registro de boot-boot-starter debajo del spring-boot-starter-web y los paquetes de arranque de boot de resorte, y luego introduzca el paquete Spring-Boot-Starter-Log4J2.
<Spendency> <ProupId> org.springframework.boot </groupid> <artifactID> spring-boot-starter-web </artifactid> <exclusions> <exclusion> <grupoD> org.springframework.boot </groupId> <artifactid> spring-boot-starter loging </artifactid> </exclusion> </exclusiM <! --https: //mvnrepository.com/artifact/org.springframework.boot/spring-boot-starter-log4j2--> <pendency> <MoupRid> org.springframework.boot </groupid> <ariFactid> spring-boot-starter-log4j2 </artifactid> <Versión> 1.5.8.Release </versión> </pendency>
2. Establezca la ubicación del recurso de archivo en POM para que las variables en el archivo puedan modificarse a través de propiedades en POM.
<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> <Incluye> **/*</cluido> </incluido> </ recursos> </cuenta> Establecer atributos de reemplazo variable
<Proteies> <Project.Build.sourceEncoding> UTF-8 </project.build.sourceEncoding> <proyecto.reporting.outputenCoding> UTF-8 </project.reporting.outputenCoding> <Java.version> 1.8 </Java.version> <oge4j2.level> debugg </log4j2.level4j2.level. <log4j2.root.path>/opt/appstack/apache-tomcat/logs/$ {proyect.name} </log4j2.root.path> <log4j2.error.path>/opt/appstack/apache-tomcat/logs/$ {proyect.name} -errorror </log4j2.error.path> <log4j2.package.path>/opt/appstack/apache-tomcat/logs/$ {project.name} -kk </log4j2.package.path> </propiedades> 3. Debido a que Spring Boot tiene un efecto protector en los archivos de configuración YML o propiedades, se requiere un complemento para reemplazar las variables en el archivo de configuración.
<gluginmanagement> <glugins> <glugin> <uproupid> org.springframework.boot </proupid> <artifactid> spring-boot-saven-plugin </artifactid> </tugin> <!-spring-boot para proteger la aplicación.yml y la aplicación.perties, el titular de la posición predeterminado $ {...} está modificado a ... @ @ @ @ @ @ @- @- @- @- @- @- @- @- @- @-inyection. y Application.Properties, el marcador de posición predeterminado $ {...} se modifica a @... @-> <!-para usar la variable Maven para los archivos YML y Propiedades del arranque de Spring para reemplazarlo, $ {} Titular de posición-> <glugin> <artifactid> mavensources-plugin </artifactid> <Cuenturation> <coding> utfoding> 8 </entoding> 8 </enchoding> <SeedFaultDelImiters> True </UsedefaultDelImiters> </figuration> </tugin> </glugins> </pluginmanagement>4. Este ejemplo utiliza la configuración YML de Spring Boot y configura el archivo de configuración LOG4J2 en Application.yml
explotación florestal:
config: classpath: log4j2.xml
Si desea configurar diferentes archivos de configuración LOG4J2 para diferentes entornos, puede establecer el valor de configuración en la aplicación correspondiente.yml
5. Configure el archivo de configuración de 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 nivel = "debug"> <appenderref ref = "console"> </pperenderref> <appenderref ref = "rolling_file"> </pperferref> </ root> <!-escribir com.kk.springboot.demo para archivar-> <nogger name = "com.kk.springboot.demo" nivel = "$ {{log4j2.Level} ref = "file"> </appenderref> </logger> </logger> <pspenders> <console name = "console" target = "system_out" seguimiento = "true"> <!-Console solo emite información a nivel y arriba-> <ThrhhholdFilter nivel = "info" onmatch = "acepta" onmisMatch = "deny"/> <patherLayout> <mather> $ {patrón {patrón {Pattern> </patternLayout> </do/console> <!-Los appendentes de la misma fuente pueden definir múltiples archivos rolling, definiendo registros almacenados por día-> <rollingfile name = "rolling_file" filename = "$ {log4j2.root.path} .log" filepatter <ThresholdFilter Level = "Info" Onmatch = "Acept" OnMismatch = "Deny"/> <PatherLayout> <Pather> $ {Pattern} </matter> </patternLayout> <Policies> <TimeBasedTriggeringPolicy Interval = "1"/> <!-<sizeBasedTriggeringPolicy size = "1 kb"/>-> </policies> </policies> </policies> </policies> </rollInties> </rollInTiS> name = "file" filename = "$ {log4j2.package.path} .log"> <!-<!-<!-<!-Console solo genera información en nivel y arriba (onmatch), y otros rechazos directamente (onMismatch)->-> <ThresholdFilter Level = "DEBUG" Onmatch = "Acept" Onmismatch = "Deny"/> <Mattern <Mattern <Mattern <Mattern <Mattern <MATTERMAT <Pather> $ {Pattern} </matter> </motlyLayout> </sche> </apenders> </figuration>6. Los registros LOG4J2 se utilizan en el código del programa Java.
Private static logger log = loggerFactory.getLogger (UserController.class); log.info ("Ingrese en entityParam"); ......7. Al cambiar el tiempo del sistema, los registros de prueba se almacenan y configuran a diario.
La explicación de ejemplo anterior del archivo de registro Log4j2 de Spring Boot Custom es todo el contenido que comparto con usted. Espero que pueda darle una referencia y espero que pueda apoyar más a Wulin.com.