设置属性logging.pattern.console或logging.pattern.level时忽略覆盖模式

时间:2016-02-02 08:20:59

标签: spring-boot

使用spring-boot 1.3.2

我正在尝试覆盖application.properties文件中的logback模式,但无论我放在哪里,都会调用spring-boot jar xml中的默认模式。我可以从 INFO - >成功调整 logging.level 值。 DEBUG 并且可以观察输出中的变化但是logging.pattern。[console |级别]始终被忽略。

logging.level.org.springframework=INFO
logging.pattern.console=user:%X{username} %X{ipAddress} %5p
#logging.pattern.console=%5p    #Also ignored 
#logging.pattern.level=%5p      #Also ignored 

是的,我正在尝试使用MDC值,但即使我不使用MDC值 覆盖仍然被忽略。

关于如何进一步解决问题的任何想法?

这是我的类路径层次结构,其中包含名称中包含字符串" log" 的任何依赖项。

Here is my classpath hierarchy with any dependency that has the string "log" in in the name.

1 个答案:

答案 0 :(得分:3)

如果类路径上有一个不需要的logback.xml配置文件覆盖了Spring Boot的配置,就会发生这种情况。您可以强制Logback通过logback.statusListenerClass系统属性输出有关其配置的信息。例如,您可以在启动应用程序时将以下内容添加到JVM参数中:

-Dlogback.statusListenerClass=ch.qos.logback.core.status.OnConsoleStatusListener

如果正在使用Spring Boot的默认设置,因此logging.console.pattern应该有效,您将看到类似于以下内容的输出:

12:38:27,471 |-INFO in ch.qos.logback.classic.LoggerContext[default] - Could NOT find resource [logback.groovy]
12:38:27,489 |-INFO in ch.qos.logback.classic.LoggerContext[default] - Could NOT find resource [logback-test.xml]
12:38:27,489 |-INFO in ch.qos.logback.classic.LoggerContext[default] - Could NOT find resource [logback.xml]
12:38:27,492 |-INFO in ch.qos.logback.classic.LoggerContext[default] - Setting up default configuration.

如果在类路径的某处找到了迷路logback.xml,您将看到类似于以下内容的输出:

12:41:06,179 |-INFO in ch.qos.logback.classic.LoggerContext[default] - Could NOT find resource [logback.groovy]
12:41:06,198 |-INFO in ch.qos.logback.classic.LoggerContext[default] - Could NOT find resource [logback-test.xml]
12:41:06,198 |-INFO in ch.qos.logback.classic.LoggerContext[default] - Found resource [logback.xml] at […]