Spring Boot WebFlux 项目中无法使用 Logbook 生成日志

问题描述 投票:0回答:1

我正在开发一个 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 配合使用?

任何帮助将不胜感激!

spring-boot spring-webflux logbook
1个回答
0
投票

请尝试添加此代码

@Configuration
public class LogbookConfiguration {

  @Bean
  public WebFilter logbookServerFilter(final Logbook logbook) {
    return new LogbookWebFilter(logbook);
  }
}

但是,Logbook bean 会自动装配,无需通过 application.yaml 进行任何自定义...

© www.soinside.com 2019 - 2024. All rights reserved.