jersey-2.0 - Jersey 2.25.1 客户端日志记录示例

标签 jersey-2.0 jersey-client

我正在使用 Jersey 2.25.1 客户端,无法获得任何日志输出。我看过 2.25.1 文档 - https://www.scribd.com/document/350321996/Jersey-Documentation-2-25-1-User-Guide - 并遵循他们对客户端日志记录的描述 -

ClientConfig clientConfig = new ClientConfig();
clientConfig.property(LoggingFeature.LOGGING_FEATURE_VERBOSITY_CLIENT, LoggingFeature.Verbosity.PAYLOAD_ANY);
Client client = ClientBuilder.newClient(clientConfig);

有没有我遗漏的附加步骤?该请求按预期工作。该应用程序在 Glassfish 服务器上运行并使用 SLF4J。我的理解是输出将记录到 server.log。

最佳答案

你还需要注册一个日志过滤器

clientConfig.register(new MyLogFilter());

您需要创建一个日志过滤器

class MyLogFilter implements ClientRequestFilter {
    private static final Logger LOG = Logger.getLogger(MyLogFilter.class.getName());

    @Override
    public void filter(ClientRequestContext requestContext) throws IOException {
        LOG.log(Level.INFO, requestContext.getEntity().toString()); // you can configure logging level here
    }
}

关于jersey-2.0 - Jersey 2.25.1 客户端日志记录示例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45992008/

相关文章:

java - 尝试使用 Jersey Client 下载文件时出现 HTTP 400 错误

rest - jersey-server、jersey-client、jersey-grizzly 在 RESTful 应用程序中的用途

java - JDK > 8 中带有 OPTIONS header 的 Jersey JAX_RS 中存在错误?

java - Jersey 2.0 通过代理获取 Post Call

java - 如何使用jersey-client V2.13(从客户端到服务器)在JAVA中上传750MB的文件?

java - JasperServer REST 客户端路径如何?

java - 有没有一种方法可以使用 Jersey Clinet 从客户端调用 REST 服务上的 HTTP PATCH

java - 无法让简单的 RS Web 服务与 Eclipse Mars 一起使用

unit-testing - 如何在 Jersey 单元测试框架 2.5 中设置 Servlet 上下文

java - 从 Spring-Jersey 1.x 迁移到 2.x