springframework org logger log error debug application spring-boot logback

spring boot - org - Configurar logback usando varios perfiles



spring debug logging (3)

Estoy tratando de dividir mi logback.xml por perfiles bajo springboot, este es mi enfoque:

logback-prod.xml

<?xml version="1.0" encoding="UTF-8"?> <configuration> <include resource="org/springframework/boot/logging/logback/defaults.xml" /> <property name="LOG_FILE" value="${LOG_FILE:-${LOG_PATH:-${LOG_TEMP:- ${java.io.tmpdir:-/tmp}}/}spring.log}"/> <include resource="org/springframework/boot/logging/logback/file- appender.xml" /> <root level="INFO"> <appender-ref ref="CONSOLE" /> </root> </configuration>

logback-dev.xml

<?xml version="1.0" encoding="UTF-8"?> <configuration> <include resource="org/springframework/boot/logging/logback/defaults.xml" /> <include resource="org/springframework/boot/logging/logback/console-appender.xml" /> <root level="DEBUG"> <appender-ref ref="CONSOLE" /> </root>

logback.xml

<?xml version="1.0" encoding="UTF-8"?> <configuration> <include resource="logback-${spring.profiles.active}.xml"/> <root level="INFO"> <appender-ref ref="FILE" /> <appender-ref ref="CONSOLE" /> </root>

Y finalmente usar:

-Dspring.profiles.active=dev or -Dspring.profiles.active=prod

Me metí en la consola:

13:01:44,673 |-ERROR in ch.qos.logback.core.joran.spi.Interpreter@2:16 - no applicable action for [configuration], current ElementPath is [[configuration][configuration]] 13:01:44,674 |-ERROR in ch.qos.logback.core.joran.spi.Interpreter@3:81 - no applicable action for [include], current ElementPath is [[configuration][configuration][include]] 13:01:44,674 |-ERROR in ch.qos.logback.core.joran.spi.Interpreter@4:89 - no applicable action for [include], current ElementPath is [[configuration][configuration][include]] 13:01:44,674 |-ERROR in ch.qos.logback.core.joran.spi.Interpreter@6:25 - no applicable action for [root], current ElementPath is [[configuration][configuration][root]] 13:01:44,674 |-ERROR in ch.qos.logback.core.joran.spi.Interpreter@7:39 - no applicable action for [appender-ref], current ElementPath is [[configuration][configuration][root][appender-ref]] 13:01:44,675 |-INFO in ch.qos.logback.classic.joran.action.RootLoggerAction - Setting level of ROOT logger to INFO


Bueno, encontré una solución:

Muevo la propiedad como a mi application.properties y también eliminé la raíz de la etiqueta de logback.xml y trabajo bien.


Si desea diferentes archivos de configuración de logback para diferentes perfiles, puede cambiarlos desde su application-*.properties .

Por ejemplo, en su application-prod.properties prod.properties puede decir:

logging.config=src/main/resources/logback-prod.xml


La documentación de arranque de Spring recomienda usar logback-spring.xml lugar de logback.xml y en ella puedes usar la etiqueta de perfil de spring:

<configuration> <springProfile name="workspace"> ... </springProfile> <springProfile name="dev,prd"> ... </springProfile> </configuration>