使用 Apache 客户端时如何记录 Jersey 客户端请求
Posted
技术标签:
【中文标题】使用 Apache 客户端时如何记录 Jersey 客户端请求【英文标题】:How to log Jersey client request when using Apache client 【发布时间】:2021-06-23 03:51:36 【问题描述】:我正在使用 jersey apache 连接器,因此我的 jersey 客户端使用 apache http 客户端:
<dependency>
<groupId>org.glassfish.jersey.connectors</groupId>
<artifactId>jersey-apache-connector</artifactId>
</dependency>
我这样初始化客户端:
ClientConfig conf = new ClientConfig().connectorProvider(new ApacheConnectorProvider());
Client client = ClientBuilder.newClient(conf);
现在我希望能够通过在我的 logback-test.xml 中添加它来记录 http 流量:
<logger name="org.apache.http.wire" level="DEBUG" />
但是它没有记录任何东西,我错过了什么吗?
更新:好吧,当我的应用程序使用 slf4j + logback 时,我可能错过了 Jersey 使用 java.util.logging。所以我添加了一个带有相应conf的jul-to-slf4j桥,但仍然没有日志。
【问题讨论】:
【参考方案1】:嗯,9 次浏览,*** 已经不是以前的样子了……
所以答案是:apache http 客户端级别的日志系统在与 jersey 一起使用时被禁用。您可以为 jersey 激活日志,但它与所有其他库不同,您必须显式注册一个“LoggingFeature”才能开始使用 jul 记录,然后桥就可以工作了。
【讨论】:
以上是关于使用 Apache 客户端时如何记录 Jersey 客户端请求的主要内容,如果未能解决你的问题,请参考以下文章
jersey NoClassDefFoundError:org / objectweb / asm / ClassVisitor异常