Spring Boot: ¿Cómo puedo establecer el nivel de registro con application.properties?

Esta es una pregunta muy simple, pero no puedo encontrar información; (Tal vez mi conocimiento acerca de los marcos de Java es muy escaso)

¿Cómo puedo establecer el nivel de registro con application.properties? ¿Y la ubicación del archivo de registro, etc.?

Solución

Actualización: A partir de Spring Boot v1.2.0.RELEASE, se aplican los ajustes de application.properties o application.yml. Consulte la sección Log Levels de la guía de referencia.

logging.level.org.springframework.web: DEBUG
logging.level.org.hibernate: ERROR

Para versiones anteriores de Spring Boot no se puede. Simplemente tienes que usar la configuración normal de tu framework de logging (log4j, logback) para ello. Añade el archivo de configuración apropiado (log4j.xml o logback.xml) al directorio src/main/resources y configúralo a tu gusto.

Puedes activar el registro de depuración especificando --debug al iniciar la aplicación desde la línea de comandos.

Spring Boot también proporciona un buen punto de partida para logback para configurar algunos valores predeterminados, colorear, etc. el archivo base.xml que simplemente puede incluir en su archivo logback.xml. (Esto también se recomienda desde el archivo logback.xml por defecto en Spring Boot.

Comentarios (7)

Puedes hacerlo con tu aplicación.properties.

logging.level.=ERROR -> Establece el nivel de registro raíz a error
...
logging.level.=DEBUG -> Establece el nivel de registro raíz a DEBUG

logging.file=${java.io.tmpdir}/myapp.log -> Establece la ruta absoluta del archivo de registro a TMPDIR/myapp.log

Un conjunto sano por defecto de application.properties con respecto al registro usando perfiles sería application.properties:

spring.application.name=
logging.level.=ERROR
logging.file=${java.io.tmpdir}/${spring.application.name}.log

application-dev.properties:

logging.level.=DEBUG
logging.file=

Cuando desarrolles dentro de tu IDE favorito sólo tienes que añadir un -Dspring.profiles.active=dev como argumento VM a la configuración de ejecución/deburación de tu aplicación.

Esto le dará un registro de errores sólo en producción y un registro de depuración durante el desarrollo SIN escribir la salida en un archivo de registro. Esto mejorará el rendimiento durante el desarrollo ( y ahorrará a las unidades SSD algunas horas de funcionamiento ;) ).

Comentarios (6)

Asegurándose de que el consejo de Dave Syer reciba algo de amor, porque añadiendo debug=true a application.properties habilitará efectivamente el registro de depuración.

Comentarios (0)