Versiones comparadas

Clave

  • Se ha añadido esta línea.
  • Se ha eliminado esta línea.
  • El formato se ha cambiado.

...

Si se usa Lombok sólo es necesario anotar la clase con @Log4j2, no hace falta declarar la variable log.  Configuración y uso de Lombok.

Configuración

...

Bloque de código
languagexml
titleVersión log4j2
<properties> 
...   
    <log4j2.version>2.17.0</log4j2.version>    
....
</properties>

...

Bloque de código
languagexml
themeEclipse
titleExcluir Logback
<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>

Añadir la dependencia spring-boot-starter-log4j2 en caso de que no se encuentre.

Bloque de código
languagexml
themeEclipse
titleDependencia Log4j2
<dependency>
     <groupId>org.springframework.boot</groupId>
     <artifactId>spring-boot-starter-log4j2</artifactId>
</dependency>

...

Bloque de código
languagexml
themeEclipse
titleDependencia Log4j2 Layout Template Json
<dependency>
     <groupId>org.apache.logging.log4j</groupId>
	 <artifactId>log4j-layout-template-json</artifactId>
</dependency>

Añadir la dependencia  actuator en caso de que no se encuentre.

Bloque de código
languagexml
themeEclipse
titleDependencia Log4j2 Layout Template Json
<dependency>
    <groupId>org.springframework.boot</groupId>
	<artifactId>spring-boot-starter-actuator</artifactId>
	<exclusions>
		<exclusion>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-logging</artifactId>
		</exclusion>
	</exclusions>
</dependency>


Info

Con la configuración actual de las APIs, con el parent fundewebjs-api-parent (ver Creación y estructura de proyecto SpringBootMigración de APIs a Parent FundeWebJS).

No es necesario realizar ninguna configuración de librerías en pom.xml.

Fichero log4j2.xml 


Info

El fichero log4j2.xml se genera automáticamente al crear el proyecto, se menciona el contenido a título informativo.

Fichero log4j2.xml 

...


Bloque de código
languagexml
themeEclipse
titleLog4j2.xml
<?xml version="1.0" encoding="UTF-8"?>
<Configuration status="WARN" monitorinterval="60" >
	<Properties>
		<Property name="LOG_EXCEPTION_CONVERSION_WORD">%xwEx</Property>
		<Property name="LOG_LEVEL_PATTERN">%5p</Property>
		<Property name="LOG_DATEFORMAT_PATTERN">dd-MM-yyyy HH:mm:ss.SSS</Property>
		<Property name="CONSOLE_LOG_PATTERN">%d{${LOG_DATEFORMAT_PATTERN}} ${LOG_LEVEL_PATTERN} ${sys:PID} --- [%t] %-40.40c{1.} : %m%n${sys:LOG_EXCEPTION_CONVERSION_WORD}</Property>
	</Properties>
	<Appenders>
		<Console name="local" target="SYSTEM_OUT" follow="true">
			<PatternLayout pattern="${sys:CONSOLE_LOG_PATTERN}" />
		</Console>
		
		<Console name="json" target="SYSTEM_OUT" follow="true">
			<JsonTemplateLayout eventTemplateUri="classpath:LogstashJsonEventLayoutV1.json" locationInfoEnabled="true" stackTraceEnabled="true"/>
		</Console>
	</Appenders>
	<Loggers>
		<Logger name="org.apache.catalina.startup.DigesterFactory" level="error" />
		<Logger name="org.apache.catalina.util.LifecycleBase" level="error" />
		<Logger name="org.apache.coyote.http11.Http11NioProtocol" level="warn" />
		<logger name="org.apache.sshd.common.util.SecurityUtils" level="warn"/>
		<Logger name="org.apache.tomcat.util.net.NioSelectorPool" level="warn" />
		<Logger name="org.eclipse.jetty.util.component.AbstractLifeCycle" level="error" />
		<Logger name="org.hibernate.validator.internal.util.Version" level="warn" />
		<logger name="org.springframework.boot.actuate.endpoint.jmx" level="warn"/>
		<Root level="debug">
			<AppenderRef ref="local" />
		</Root>
	</Loggers>
</Configuration>	

Esta configuración Este fichero sólo es valida valido para los despliegues locales. El appender "json" se incluye a título informativo.
La configuración por defecto para los entornos se establece en el alta de la aplicación y se encuentra en el repositorio git de despliegues de aplicaciones (Ver punto "Entornos").

...

Los despliegues de las aplicaciones se gestionan mediante el repositorio gitops-k8s-infra (deploy-k8s-manifest en la infraestructura anterior). HelmChart.

El fichero log4j2.xml se inicializa Los ficheros log4j.xml y application.properties necesarios para la configuración de logs se inicializan en la creación de la aplicación y no es necesario modificarlos.
Estos ficheros se encuentran en https://gitlab.um.es/sistemas/gitops-k8s-infra/-/tree/master/deployments/[DOMINIO]/[APLICACION]/[ENTORNO] modificarlo.

Si aún así se quiere realizar algún ajuste en loggers o niveles de traza, hay que seguir las indicaciones para el despliegue de aplicaciones:   Despliegues y configuración de los entornos.

                                                        NO CAMBIAR EL APPENDER "json".

...