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
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>


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.

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>
	 <version>2.14.0</version>
</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>

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".

...

Al solicitarse el alta de la aplicación, Sistemas dará de alta el servicio para ver los logs de la aplicación en LAGAR.
Los índices a configurar en LAGAR tendrán la nomenclatura: K8S-[APLICACION]-ns-[ENTORNO].

Ver => Visualización de Logs de FundeWebJS en LAGAR.

Ante cualquier duda sobre permisos, configuración o uso de Lagar, no dude en ponerse en contacto con MNCS o Telemática.

...