3

我有一个简单的 Spring Boot 应用程序,它logbook-spring-boot-starter依赖于logbook库。

该文件说要忽略健康检查请求,请像这样连接日志:

Logbook logbook = Logbook.builder()
    .condition(exclude(
        requestTo("/health"),
        requestTo("/admin/**"),
        contentType("application/octet-stream"),
        header("X-Secret", newHashSet("1", "true")::contains)))
    .build();

这可能听起来很幼稚,但我不知道应该在哪里连接它。我应该把它放在任何带有特定注释的特定类或方法中吗?一个例子会有所帮助。

4

1 回答 1

6

这真的很简单。Logbook只需在类中创建一个类型的 bean @Configuration

@Configuration
public class LogbookConfiguration {

    @Bean
    public Logbook logbook() {
        Logbook logbook = Logbook.builder()
            .condition(exclude(
                requestTo("/health"),
                requestTo("/admin/**"),
                contentType("application/octet-stream"),
                header("X-Secret", newHashSet("1", "true")::contains)))
            .build();
        return logbook;
    }
}

当然,特定的库必须存在于类路径中:

<dependency>
    <groupId>org.zalando</groupId>
    <artifactId>logbook-spring-boot-starter</artifactId>
</dependency>

README.md的Spring Boot Starter 部分说明了以下内容,并提供了一个可配置集成点表。

如果需要,每个 bean 都可以被覆盖和自定义

于 2021-07-27T04:56:09.447 回答