Configuración Dinámica del Nivel de Registro
El propósito de esta página es explicar cómo se pueden cambiar los niveles de registro durante la ejecución, de modo que no tenga que restart su aplicación para cambiar un nivel de registro. Lograremos eso utilizando la biblioteca actuator.
Para utilizar el actuador, debe tener la siguiente dependencia (ya incluida en ipf-common-starter-core):
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
Cuando su aplicación esté en funcionamiento, de esta manera podrá verificar qué registradores tiene:
http://localhost/actuator/loggers
Suponga que tiene un com.sample paquete allí y desea verificar un nivel de registro para él. Puede consultar el siguiente endpoint (a través del navegador o utilizando el comando curl):
http://localhost/actuator/loggers/com.sample[source,json]
{"configuredLevel":"INFO","effectiveLevel":"INFO"}
Esto significa que su nivel configurado y el nivel efectivo están establecidos en INFO. A diferencia de configuredLevel,effectiveLevel debe estar presente. Se establecerá por defecto, pero el nivel padre, mientras configuredLevel será nulo (por lo que puede parecer que usted solo tiene):
{"effectiveLevel":"INFO"}
Cuando configuredLevel se ha establecido en un valor no nulo,effectiveLevel tomará su valor. Por lo tanto, al cambiar el nivel de registro para un registrador particular (por ejemplo, com.sample), en realidad estamos realizando el cambio sobre configuredLevel campo.
curl 'http://localhost/actuator/loggers/com.sample' -i -X POST \
-H 'Content-Type: application/json' \
-d '{"configuredLevel":"DEBUG"}'
Ahora, si observamos http(s)://localhost/actuator/loggers/com.sample:
{"configuredLevel":"DEBUG","effectiveLevel":"DEBUG"}
Se trata de establecer el nivel de registro. Ahora, si no es visible en los registros de la aplicación, puede que necesite reconfigurar su logback.xml file. Por ejemplo, puede suceder que tenga un filtrado, por ejemplo:
<? xml version="1. 0" encoding="UTF-8"?>
<configuration>
..
<appender name="STDOUT" class="ch.qos.logback.core. ConsoleAppender">
<filter class="ch.qos.logback.classic.filter. ThresholdFilter">
<level>INFO</level>
</filter>
..
</appender>
..
</configuration>
..
Para ver los registros de DEBUG, puede cambiar el valor de la etiqueta <level> a "DEBUG" o eliminar la etiqueta <filter> por completo.