2015-10-16 74 views
2

我们有一个多模块Spring Boot项目,它有DEBUG级别的日志记录,需要将其更改为INFO级别。由于它使用Spring Boot 1.2.5,我遵循指示herehere,但在application.properties中设置logging.level.org.springframework.web=INFO没有任何效果,我们不断收到日志中的DEBUG消息。无法从application.properties更改Spring Boot日志记录级别,但可以从logback.xml中更改

但是,提供一个logback.xml就像上面提到的网站,并设置在那里的工作。即使没有明确设置,因为Spring Boot附带的base.xml包含在我们的logback.xml中,默认情况下根日志记录级别设置为INFO

Spring Boot使用带有Logback的SLF4J作为默认设置,但我们不希望仅依赖于Logback,因此我们应该能够从application.properties配置日志记录级别。该项目以编程方式配置,因此application.properties不包含任何其他内容。这两个配置文件都位于src/main/resources下的类路径中。

我试过logging.level.*=INFO,试过不同的分隔符(:,,=)。我已经搜索了项目文件,但没有发现现有日志配置的痕迹。

什么会导致application.properties被忽略/超载,但logback.xml不是?

application.properties

logging.level.org.springframework.web=INFO 

logback.xml

<?xml version="1.0" encoding="UTF-8"?> 
<configuration> 
    <include resource="org/springframework/boot/logging/logback/base.xml"/> 
</configuration> 
+1

如果它在更高级别上运行,请尝试。你确定这些属性是可读的吗?尝试改变别的东西,例如server.port – Marged

+0

如果你使用'logback.xml',我怀疑'application.properties'中的设置仍然有效。尝试删除你的'logback.xml'文件,并只使用一个'application.properties'。 –

+0

@M。如果我含糊不清,很抱歉。问题是,当我删除'logback.xml'时,'application.properties'不会生效。 – deakandris

回答

0

如果你把logback.xml春季启动将使用Logback作为主要LoggingSystem。除了commons-logging API之外,Spring Boot没有强制的日志依赖性。

+0

问题是,如果没有'logback.xml',我不能在'application.properties'中设置日志记录。使用后者是设置日志级别的解决方法。 – deakandris

1

尝试设置application.properties文件的名称与无论是spring.config.locationspring.config.name使用(见docs了解详细信息)

除此之外,你可以使用/env端点Actuator看到哪些文件由Spring处理引导以及从中读取哪些值。这会告诉你是否有比你提供的更多的配置文件。

也许快速检查可能会有所帮助:检查application.properties中的某些内容,例如server.port=4711,然后您将立即知道文件是否被读取。

请记住,在读取application.properties之前,会写入一些日志记录输出。这意味着一些org.springframework.web消息可能在Spring Boot获悉你不想看到它们之前已经写好了。

相关问题