...
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 | ||||||
|---|---|---|---|---|---|---|
| ||||||
<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 SpringBoot o Migració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 | ||||||
|---|---|---|---|---|---|---|
| ||||||
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-log4j2</artifactId>
</dependency>
|
...
| Bloque de código | ||||||
|---|---|---|---|---|---|---|
| ||||||
<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 | ||||||
|---|---|---|---|---|---|---|
| ||||||
<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 | ||||||
|---|---|---|---|---|---|---|
| ||||||
<?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.
...