Jersey 2.25.1客户端日志记录示例

时间:2017-09-01 01:01:37

标签: 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。

1 个答案:

答案 0 :(得分:1)

您还需要注册日志过滤器

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
    }
}