Crear archivo externo de logs mediante un yaml en Java con logging.file (Solucionado)

Higarigaoka - Odaiba, Sin comentarios
Hola,

Por si no lo saben, cuando se utiliza Spring Boot este por defecto escribe los logs que se generen mediante la librería: java.util.logging, por la consola del IDE, pero si se desea estos logs se pueden escribir en un fichero.


Al igual que la activación del nivel a DEBUG la configuración para activar el fichero de log sigue el mismo principio de configuración de Spring Boot.

Se debe tener en cuenta que estos ficheros que se crean rotan por defecto cada 10Mb.

Las propiedades para indicar el fichero donde escribir los logs son:
  • logging.file
  • logging.path
Nota:
Esto también aplica para SLF4J (Simple Logging Facade for Java proporciona una API de registro Java a través de un simple patrón de fachada. El servidor de registro subyacente se determina en tiempo de implementación y puede ser java.util.logging, log4j, logback o tinylog.​) mediante el import lombok.extern.slf4j.Slf4j;

El ejemplo funcional que se usará a continuación es con logging.file, en el yaml, se debe escribir el siguiente código:

logging:
file.name: /Users/myNameIs/Documents/pruebaLog.log
pattern:
console: "%d [%t] %-5level %logger{36} - %msg%n"
file: "%d [%t] %-5level %logger{36} - %msg%n"
level:
com.m2evorah: INFO
org.springframework: INFO
org.hibernate: ERROR

Ese bloque de código permite registrar en el archivo los logs de tipo INFO y ERROR. Tengan muy en cuenta la indentación (mover un bloque de texto hacia la derecha insertando espacios o tabuladores, para así separarlo del margen izquierdo y distinguirlo mejor del texto adyacente) en el archivo yaml, porque sino les puede fallar.

La salida del archivo pruebaLog.log es:

[com.prueba.comun.programacion.miaplicacion.utilidades.Utilidades]

2021-02-18 13:06:41,928 [http-nio-0.0.0.0-80-exec-4] INFO c.b.c.s.m.c.PrincipalMain - MS Spring Boot, iniciando la ejecucion de la prueba...

Nota:
Si quieren imprimir otro tipo de nivel en el archivo log, solo deben jugar con los parámetros dentro del level.

Listo, cada vez que el Application del Spring Boot se ejecuta (se despliega la aplicación), se crea el archivo externo donde se almacenan los logs en la ruta definida en el yaml, eso es todo, mucha suerte.

Fuentes:

0 comentarios :

Publicar un comentario