SpringBoot integrado con Log4j2
? En el curso de nuestro trabajo, generalmente nos hacemos cargo de proyectos en los que solo podemos prestar atención a cómo usar log4j, pero no creamos proyectos log4j personalmente. Con el fin de aprender, intenté integrar log4j2 en el proyecto SpringBoot yo mismo. En cuanto a por qué debería integrarse log4j2, también verifiqué en línea, principalmente para: mejora del rendimiento y automatización
. El sistema de registro integrado predeterminado de SpringBoot es LogBack, y logBack se introduce mediante spring-boot-starter-logging. , como se muestra en la figura:
Por supuesto, SpringBoot también admite Log4j2, solo necesita eliminar la dependencia del inicio de sesión e introducir Log4j2.
Si necesita utilizar AsyncLogger de Log4j2 para implementar el registro asincrónico, también debe introducir Disruptor
Descripción de la excepción Si su LogBack no se drena (es decir, se introduce en LogBack mediante otro jar), el sistema informará un mensaje de error muy extraño
El sistema de registro no pudo inicializarse usando la configuración de 'classpath:-----.xml'
El mensaje de excepción es :
? Log4j2 generalmente se configura usando xml, por lo que necesita crear un nuevo archivo de configuración log4j2 en el directorio de recursos, llamado temporalmente log4j2.xml. Además, también necesita mostrar la declaración en el archivo application.properties para que funcione
. Por supuesto, si no configura logging.config, los nombres de archivo cargados por SpringBoot de forma predeterminada son: log4j2.xml, log4j2-file.xml Dos, respectivamente en el código fuente: org.springframework.boot.logging.log4j2.log4j2.xml, log4j2-file.xml. Log4J2LoggingSystem.loadDefaults:
En este punto, el trabajo de SpringBoot para integrar Log4j2 se ha completado. Tal vez muchos estudiantes, como yo, también quieran conocer la configuración de log4j2.
Los más utilizados son: root para salida de registro sincrónica, AsyncLogger para salida de registro asincrónica. Preste atención a tres puntos al generar registros asincrónicos: