ChatGPT解决这个技术问题 Extra ChatGPT

在 application.yml 中设置根日志级别

我使用 Spring Boot (1.3 M1) 的 application.properties 并开始将其转换为 yaml 文件,因为它变得越来越复杂。

但我在将其转换为 yaml 时遇到问题:

logging.level.*=WARN
logging.level.com.filenet.wcm=ERROR
logging.level.de.mycompany=DEBUG

最后两行很容易翻译成这样:

logging:
    level:
        com.filenet.wcm: ERROR
        de.mycompany: DEBUG

但是如何添加根日志级别的值?这两种方法都失败了:

失败的方法1:

logging:
    level: WARN
        com.filenet.wcm: ERROR
        de.mycompany: DEBUG    

失败的方法2:

logging:
    level: 
        star: WARN
        com.filenet.wcm: ERROR
        de.mycompany: DEBUG    

我阅读了 docs,搜索了 stackoverflow 和谷歌,但没有找到有效语法的示例。


A
Andy Wilkinson

您可以使用 ROOT 配置根日志记录级别:

logging:
  level:
    ROOT: DEBUG

哎呀,那比我想象的要简单得多,也更明显;-)
如何更改应用程序包日志级别?例如 com.myapp.services=TRACE。它不考虑应用程序包。
我可以把 ROOT 写成 root, logging.level.root: DEBUG
是的,您可以使用 root
对我不起作用。将其设置为警告,我仍然收到信息消息。
K
Kalpesh Soni

如果你想逐个包,你可以使用这个语法:

logging:
  level:
     org.springframework.web: DEBUG
     guru.springframework.controllers: DEBUG
     org.hibernate: DEBUG
     org: INFO

这不是我要的
如何为 org.springframework 和 org.springframework.web 设置不同的级别?
@gstackoverflow 只需添加一个新行并指定另一个包和相应的日志级别。希望能帮助到你。
像 org.springframework: INFO 和 org.springframework.web:DEBUG 吗?
@gstackoverflow 是的。
t
torina

你甚至可以使用你的类名来配置日志级别:

logging:
  level:
    com.yourorganization.Yourclass: DEBUG

J
Joakim

这是一个老问题,但我刚刚遇到了这个问题。

设置时

org.springframework.web: debug

或者

org.hibernate: debug

工作正常,如果你想为你的项目文件做同样的事情(设置每个包的级别),你必须使用通配符。因此,对于问题中的示例,它将是:

logging:
    level:
        root: WARN
        com.filenet.wcm.*: ERROR
        de.mycompany.*: DEBUG

或者,您可以在不使用通配符的情况下设置每个类的日志记录级别,如 torina 的答案所示。


T
Thanthu

您可以通过创建 CommonsRequestLoggingFilter 并添加

logging.level.org.springframework.web.filter.CommonsRequestLoggingFilter=DEBUG

application.properties 文件,如此链接中详细说明的 - https://www.baeldung.com/spring-http-logging

@Configuration
public class RequestLoggingFilterConfig {

    @Bean
    public CommonsRequestLoggingFilter logFilter() {
        CommonsRequestLoggingFilter filter
          = new CommonsRequestLoggingFilter();
        filter.setIncludeQueryString(true);
        filter.setIncludePayload(true);
        filter.setMaxPayloadLength(10000);
        filter.setIncludeHeaders(false);
        filter.setAfterMessagePrefix("REQUEST DATA : ");
        return filter;
    }
}

关注公众号,不定期副业成功案例分享
关注公众号

不定期副业成功案例分享

领先一步获取最新的外包任务吗?

立即订阅