首页 > 解决方案 > Webflux 访问日志头

问题描述

Spring webflux中如何自定义reactor访问日志?

我可以通过设置打开反应堆网络访问日志 -Dreactor.netty.http.server.accessLogEnabled=true

我想自定义格式,例如:我需要记录一些请求标头并删除 IP 地址。

在 Spring Webflux 应用程序中实现这一点的任何提示都会有所帮助。

标签: spring-webfluxreactor-nettyaccess-log

解决方案


您可以像这样以编程方式进行

    @Component
public class MyNettyWebServerCustomizer
        implements WebServerFactoryCustomizer<NettyReactiveWebServerFactory> {
    @Override
    public void customize(NettyReactiveWebServerFactory factory) {
        factory.addServerCustomizers(httpServer -> httpServer.accessLog(true, x -> AccessLog.create("method={}, uri={}", x.method(), x.uri())));
    }
}

有关自定义访问日志的更多信息,您可以在文档中找到


推荐阅读