代码之家  ›  专栏  ›  技术社区  ›  keyoxy

如何在Jersey Client 2中禁用登录。x?

  •  1
  • keyoxy  · 技术社区  · 7 年前

    我在测试中运行了一个简单的Dropwizard(1.2.0)web服务,使用Jersey客户端(2.25.1)调用服务端点。对于每个请求,我都会在控制台上获得一个日志条目,例如:

    127.0.0.1 - - [25/Oct/2017:21:17:10 +0000] "GET /query?name=John+Doe+1 HTTP/1.1" 200 48 "-" "Jersey/2.25.1 (HttpUrlConnection 1.8.0_92)" 84
    127.0.0.1 - - [25/Oct/2017:21:17:10 +0000] "GET /query?name=John+Doe+2 HTTP/1.1" 200 48 "-" "Jersey/2.25.1 (HttpUrlConnection 1.8.0_92)" 84
    127.0.0.1 - - [25/Oct/2017:21:17:10 +0000] "GET /query?name=John+Doe+0 HTTP/1.1" 200 48 "-" "Jersey/2.25.1 (HttpUrlConnection 1.8.0_92)" 84
    

    我想禁用这些日志条目在控制台上打印,因为它们会扰乱我的输出。我假设他们来自泽西岛客户?我错了吗?因此,在创建客户端时,我尝试禁用它,例如:

    ClientConfig clientConfig = new ClientConfig();
    clientConfig.property(LOGGING_FEATURE_LOGGER_LEVEL_CLIENT, Level.OFF);
    Client client = ClientBuilder.newClient(clientConfig);
    return client;
    

    但这没有任何影响-日志条目仍然转储在控制台上。

    2 回复  |  直到 7 年前
        1
  •  3
  •   Ravi    7 年前

    它们是dropwizard服务器打印的请求日志。如果您只是不想在控制台上打印它们,可以将它们记录到一个文件中。在下面添加配置 server: 属性。

    requestLog:
        timeZone: UTC
        appenders:
          - type: file
            currentLogFilename: /var/log/request.log
            threshold: ALL
    

    您也可以通过在测试配置中指定no appender来禁用它。

    requestLog:
       appenders: []
    
        2
  •  1
  •   Jon Thoms    7 年前

    我认为您可能需要转到主应用程序类,找到记录器连接到Jersey环境的位置。线条应该类似于:

    environment.jersey().register(new LoggingFeature(...));
    

    尝试删除/注释该行。