gpt4 book ai didi

java - 无法从 application.properties 更改 Spring Boot 日志记录级别,但可以从 logback.xml

转载 作者:行者123 更新时间:2023-11-30 10:55:55 25 4
gpt4 key购买 nike

我们有一个多模块 Spring Boot 项目,它具有 DEBUG 级别的日志记录,需要更改为 INFO 级别。因为它使用 Spring Boot 1.2.5,所以我遵循了说明 herehere ,但是在 application.properties 中设置 logging.level.org.springframework.web=INFO 没有效果,我们不断收到 DEBUG 消息日志。

但是,提供一个类似于上述站点上的 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>

最佳答案

尝试将 application.properties 文件的名称设置为与 spring.config.locationspring.config.name 一起使用(详见 docs )

除此之外,您还可以使用 Actuator/env 端点查看 Spring Boot 处理了哪些文件以及从中读取了哪些值。这将告诉您是否有比您提供的配置文件更多的配置文件。

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

请记住,一些日志输出是在读取 application.properties 之前写入的。这意味着一些 org.springframework.web 消息可能在 Spring Boot 得知您不想看到它们之前就已经写入。

关于java - 无法从 application.properties 更改 Spring Boot 日志记录级别,但可以从 logback.xml,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33174832/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com