Esta es una pregunta muy simple, pero no puedo encontrar información.
(Tal vez mi conocimiento sobre los frameworks 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.?
logging
spring-boot
zeodtr
fuente
fuente
Settings
->Config Vars
establecerlogging.level.com.yourpackage
en el nivel deseado (INFORMACIÓN, ERROR, DEPURACIÓN).Respuestas:
Actualización: a partir de Spring Boot v1.2.0.RELEASE, se aplica la configuración
application.properties
o seapplication.yml
aplica. Consulte la sección Niveles de registro de la guía de referencia.Para versiones anteriores de Spring Boot no puede. Simplemente tiene que usar la configuración normal para su marco de registro (log4j, logback) para eso. Agregue el archivo de configuración apropiado (
log4j.xml
ologback.xml
) alsrc/main/resources
directorio y configúrelo a su gusto.Puede habilitar 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 el inicio de sesión 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 logback.xml predeterminado en Spring Boot.
fuente
application.properties
o seapplication.yml
aplica, según respondió Richard (módulo:
o=
problema --- el colon parece funcionar para mí).Puede hacerlo utilizando su application.properties.
logging.level.=ERROR
-> Establece el nivel de registro raíz en error...
logging.level.=DEBUG
-> Establece el nivel de registro raíz en DEBUGlogging.file=${java.io.tmpdir}/myapp.log
-> Establece la ruta absoluta del archivo de registro a TMPDIR / myapp.logUn conjunto predeterminado de aplicaciones.propiedades sensatas con respecto al registro utilizando perfiles sería: application.properties:
application-dev.properties:
Cuando desarrolla dentro de su IDE favorito, simplemente agrega un
-Dspring.profiles.active=dev
argumento como VM a la configuración de ejecución / depuración de su aplicación.Esto le dará error solo al iniciar sesión en la producción y el registro de depuración durante el desarrollo SIN escribir el resultado en un archivo de registro. Esto mejorará el rendimiento durante el desarrollo (y ahorrará unidades SSD algunas horas de operación;)).
fuente
logging.level.:DEBUG
spring-boot 1.4.0
:logging.level.=DEBUG
hará que la aplicación no se inicie y obtenga un error:java.lang.ClassCircularityError: java/util/logging/LogRecord
logging.level.
es solo un atajo sintáctico conveniente paralogging.level.root
, que podría preferirse como (1) menos propenso a confundirse con un error tipográfico, (2) potencialmente más explícito y (3) trabajando con el=
signo de asignación, que proporciona una mayor coherencia general al archivo de configuración.La forma correcta de establecer el nivel de registro raíz es mediante la propiedad
logging.level.root
. Consulte la documentación , que se ha actualizado desde que se hizo originalmente esta pregunta.Ejemplo:
fuente
Supongamos que su aplicación tiene el nombre del paquete como
com.company.myproject
. Luego puede establecer el nivel de registro para las clases dentro de su proyecto como se indica a continuación en los archivos application.propertieslogging.level.org.springframework.web = DEBUG
ylogging.level.org.hibernate = DEBUG
establecerá el nivel de registro para las clases de Spring framework web e Hibernate únicamente.Para configurar la ubicación del archivo de registro use
fuente
Si está en Spring Boot, puede agregar directamente las siguientes propiedades en el archivo application.properties para establecer el nivel de registro, personalizar el patrón de registro y almacenar registros en el archivo externo.
Estos son diferentes niveles de registro y su orden de mínimo << máximo.
OFF << FATAL << ERROR << WARN << INFO << DEBUG << TRACE << ALL
Pase por este enlace para personalizar su registro más vívidamente.
https://docs.spring.io/spring-boot/docs/current/reference/html/boot-features-logging.html
fuente
Asegurarse de que la sugerencia de Dave Syer reciba algo de amor, porque agregar
debug=true
a application.properties efectivamente permitirá el registro de depuración.fuente
En caso de que desee utilizar un marco de registro diferente, log4j, por ejemplo, encontré que el enfoque más fácil es desactivar el registro propio de Spring Boots e implementar el suyo. De esa manera puedo configurar cada nivel de registro dentro de un archivo, log4j.xml (en mi caso).
Para lograr esto, simplemente tiene que agregar esas líneas a su pom.xml:
Probablemente ya tenga la primera dependencia y solo necesite las otras dos. Tenga en cuenta que este ejemplo solo cubre log4j.
¡Eso es todo, ahora está listo para configurar el registro para el arranque dentro de su archivo de configuración log4j!
fuente
log4j.properties
.Puede intentar establecer el nivel de registro en DEPURAR, mostrará todo al iniciar la aplicación
fuente
Para los registros: la documentación oficial , como para Spring Boot v1.2.0.RELEASE y Spring v4.1.3.RELEASE:
fuente
Si desea establecer más detalles, agregue un nombre de archivo de configuración de registro "logback.xml" o "logback-spring.xml".
en su archivo application.properties, ingrese así:
en loback-spring.xml, entrada como esta:
fuente
Las respuestas existentes son geniales. Solo quiero compartir con ustedes una nueva función de arranque de primavera que permite agrupar registros y establecer el nivel de registro en todo el grupo.
Ejemplo de los documentos:
Es una buena característica que brinda más flexibilidad.
fuente
En mi configuración actual, lo tengo definido en application.yaml así:
Estoy usando spring-boot: 2.2.0.RELEASE. Puede definir cualquier paquete que debería tener el nivel TRACE como ese.
fuente
en el proyecto de arranque de primavera podemos escribir logging.level.root = WARN pero aquí el problema es que tenemos que reiniciar nuevamente, incluso agregamos dependencia de devtools, en el archivo de propiedades si se modifica cualquier valor no será autodetectable, por esta limitación llegué a saber la solución i, e podemos agregar un actuador en pom.xml y pasar el nivel del registrador como se muestra a continuación en el cliente cartero en la barra de URL http: // localhost: 8080 / loggers / ROOT o http: // localhost: 8080 / loggers / com .mycompany y en el cuerpo puedes pasar el formato json como abajo
fuente
En caso de eclipse IDE y su proyecto es maven, recuerde limpiar y construir el proyecto para reflejar los cambios.
fuente
Con Springboot 2 puede establecer el Nivel de registro raíz con una Variable de entorno como esta:
O puede establecer un registro específico para paquetes como este:
fuente
LOGGING_LEVEL_ROOT=DEBUG
usando la sintaxis de camello