2017-09-01 80 views
1

我正在使用Jersey 2.25.1客户端,并且无法获取任何日志输出。我已经看过了2.25.1文档 - https://www.scribd.com/document/350321996/Jersey-Documentation-2-25-1-User-Guide - 跟着他们为客户记录描述了 -Jersey 2.25.1客户端记录示例

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

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

+0

您的客户端应用程序'Glassfish'服务器并使用'SLF4j'上运行? –

回答

0

您还需要注册一个日志过滤

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