微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

为 Quarkus 中的所有 RestClient 调用添加日志记录

如何解决为 Quarkus 中的所有 RestClient 调用添加日志记录

我实现了一个最小的 Quarkus RestClient,就像文档中的示例 (https://quarkus.io/guides/rest-client):

package org.acme.rest.client;

import org.eclipse.microprofile.rest.client.inject.RegisterRestClient;
import org.jboss.resteasy.annotations.jaxrs.PathParam;

import javax.ws.rs.GET;
import javax.ws.rs.Path;
import javax.ws.rs.Produces;
import java.util.Set;

@Path("/v2")
@RegisterRestClient
public interface CountriesService {

    @GET
    @Path("/name/{name}")
    Set<Country> getByName(@PathParam String name);
}

如何为上述客户端的所有调用启用日志记录?
我需要显示完整的 URI、查询参数和 HTTP 响应代码,即使后者显示在单独的行上。

解决方法

使用ClientResponseFilter;创建该接口的具体实现并跟踪您想要的内容。
请记住使用 CountriesService 注释在 @RegisterProvider 上注册过滤器。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。