- Dependencias de enlace de Log4j2 y SLF4j
Para que Log4j2 funcione con SLF4J, debemos incluir las siguientes 3 dependencias.
log4j-slf4j-impl.jar: enlace Log4j 2 SLF4J. Permite que las aplicaciones codificadas en la API SLF4J utilicen Log4j2 como implementación.
log4j-api.jar: proporciona los componentes del adaptador necesarios para que los implementadores creen una implementación de registro.
log4j-core.jar: clases principales de implementación de Log4j.
Las dependencias de Maven y Gradle se pueden copiar como se muestra a continuación.
pom.xml
<dependencia>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-api</artifactId>
<versión>2.15.0</versión> </dependencia>
<dependencia>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-core</artifactId>
<versión>2.15.0</versión>
</dependencia> <dependencia>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-slf4j-impl</artifactId>
<versión>2.15.0</versión>
</dependencia>
- Cree el archivo log4j2.xml en la carpeta de recursos de su proyecto
Ejemplo con transferencia de archivos y uso de variables del sistema y diseñado para su uso en el servidor Wildfly:
<?xml versión=”1.0″ codificación=”UTF-8″?>
<Estado de configuración=”${env:LOG_LEVEL}”>
<Anexadores>
<RollingFile name=”LogToFile” fileName=”${env:JBOSS_HOME}/standalone/log/xxx.log” filePattern=”${env:JBOSS_HOME}/standalone/log/xxx.log-%d{yyyy-MM-dd}”> <PatternLayout>
<pattern>[%-5level] %d{aaaa-MM-dd HH:mm:ss.SSS} [%t] %c{1} – %msg%n </pattern> </PatternLayout>
<Políticas>
<TimeBasedTriggeringPolicy intervalo=”1″ modulate=”true” />
<OnStartupTriggeringPolicy />
</Policies> <!– Se crearán máximo 10 archivos todos los días –>
<DefaultRolloverStrategy max=”20″>
<Eliminar basePath=”${env:JBOSS_HOME}/standalone/log/” maxDepth=”10″>
<!– Eliminar todos los archivos con más de 30 días –>
<IfLastModified edad=”30d” />
</Eliminar>
</Estrategia de rollover predeterminada>
</RollingFile>
</Anexores>
<Loggers>
<!– evite registros duplicados con aditividad=false –>
<Logger name=”xxx-be” nivel=”${env:LOG_LEVEL}” additivity=”false”> <AppenderRef ref=”LogToFile”/>
</Registrador>
<Nivel raíz=”${env:LOG_LEVEL}”>
<ApenderRef ref=”LogToFile”/>
</Root>
</Registradores>
</Configuración>
- log4j2.xml
- Usando Logger en Código
importar org.apache.logging.log4j.Logger;
Registrador registrador = LogManager.getLogger(“xxx-be”);
logger.info(“iniciado”);
Necesitaba todo el día para que funcionara. Espero que esto ayude a los desarrolladores.

Deja una respuesta