我正在开发一个 Spring Boot WebFlux 项目,并尝试使用 Logbook 来记录 HTTP 请求和响应。但是,我没有看到生成任何日志。
这是我的
pom.xml
的相关部分:
<dependency>
<groupId>org.zalando</groupId>
<artifactId>logbook-spring-boot-autoconfigure</artifactId>
<version>3.9.0</version>
</dependency>
<dependency>
<groupId>org.zalando</groupId>
<artifactId>logbook-spring-boot-webflux-autoconfigure</artifactId>
<version>3.9.0</version>
</dependency>
<dependency>
<groupId>org.zalando</groupId>
<artifactId>logbook-netty</artifactId>
<version>3.9.0</version>
</dependency>
这是我的
application.yml
配置的相关部分:
logbook:
format: json
strategy: default
filter:
enabled: true
exclude:
- /swagger
- /api-docs
- /actuator
obfuscate:
headers:
- Authorization
- Cookie
parameters:
- password
body:
patterns:
- '"password": ".*"'
write:
level: DEBUG
category: logbook.log
max-body-size: 1000
exclude:
content-types:
- application/octet-stream
尽管如此设置,我没有从控制台或日志文件中的日志中获取任何日志。我的配置中是否缺少某些内容? Logbook 是否需要特定设置才能与 WebFlux 配合使用?
任何帮助将不胜感激!
请尝试添加此代码
@Configuration
public class LogbookConfiguration {
@Bean
public WebFilter logbookServerFilter(final Logbook logbook) {
return new LogbookWebFilter(logbook);
}
}
但是,Logbook bean 会自动装配,无需通过 application.yaml 进行任何自定义...