我使用 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 和谷歌,但没有找到有效语法的示例。
您可以使用 ROOT
配置根日志记录级别:
logging:
level:
ROOT: DEBUG
如果你想逐个包,你可以使用这个语法:
logging:
level:
org.springframework.web: DEBUG
guru.springframework.controllers: DEBUG
org.hibernate: DEBUG
org: INFO
你甚至可以使用你的类名来配置日志级别:
logging:
level:
com.yourorganization.Yourclass: DEBUG
这是一个老问题,但我刚刚遇到了这个问题。
设置时
org.springframework.web: debug
或者
org.hibernate: debug
工作正常,如果你想为你的项目文件做同样的事情(设置每个包的级别),你必须使用通配符。因此,对于问题中的示例,它将是:
logging:
level:
root: WARN
com.filenet.wcm.*: ERROR
de.mycompany.*: DEBUG
或者,您可以在不使用通配符的情况下设置每个类的日志记录级别,如 torina 的答案所示。
您可以通过创建 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;
}
}
ROOT
写成root
,logging.level.root: DEBUG
root
。