在WIldfly上记录配置Apache HttpClient 5

时间:2017-03-20 15:36:38

标签: apache logging httpclient wildfly

在wildfly 10.1上关闭apache httpclient 5的DEBUG日志记录时遇到问题。到目前为止,我已经完成了以下工作:

  1. standalone.xml,在

             

  2. logging.properties - 文档声明这只有在wildfly启动时生效,所以我没想到这会起作用:

    logger.org.apache.http.level = ERROR logger.org.apache.http.wire.level = ERROR

  3. 添加了java vm参数:

    -org.apache.commons.logging.Log = org.apache.commons.logging.impl.SimpleLog -Dorg.apache.commons.logging.simplelog.showdatetime =真 -Dorg.apache.commons.logging.simplelog.log.org.apache.http = WARN -Dorg.apache.commons.logging.simplelog.log.org.apache.http.wire = WARN

  4. 通过代码尝试:

    System.setProperty(" org.apache.commons.logging.Log"" org.apache.commons.logging.impl.SimpleLog&#34); System.setProperty(" org.apache.commons.logging.simplelog.defaultlog""错误&#34); System.setProperty(" org.apache.commons.logging.simplelog.log.org.apache.http""错误&#34); System.setProperty(" org.apache.commons.logging.simplelog.log.org.apache.http.wire""错误&#34); client = HttpClientBuilder.create()。build();

  5. 没有运气,其中任何一个。

    提前致谢。

2 个答案:

答案 0 :(得分:0)

从我的项目中:

隐藏有关无效Cookie的警告,创建自定义配置

RequestConfig config = RequestConfig.custom().setCookieSpec(CookieSpecs.IGNORE_COOKIES).build();
httpClient = HttpClients.custom().setDefaultRequestConfig(config).build();

或完全禁用日志记录

java.util.logging.Logger.getLogger("org.apache").setLevel(Level.OFF);

答案 1 :(得分:0)

好的 - 想出来了。我使用的是SLF4J但没有为wildfly配置它,请参阅http://blog.anotheria.net/devops/enable-logback-in-jboss/ 另外,我必须创建:META-INF / jboss-deployment-structure.xml

<?xml version="1.0" encoding="UTF-8"?>
<jboss-deployment-structure>
  <deployment>
    <exclusions>
      <module name="org.apache.commons.logging" />
      <module name="org.apache.log4j" />
      <module name="org.jboss.logging" />
      <module name="org.jboss.logging.jul-to-slf4j-stub" />
      <module name="org.jboss.logmanager" />
      <module name="org.jboss.logmanager.log4j" />
      <module name="org.slf4j" />
      <module name="org.slf4j.impl" />
    </exclusions>
  </deployment>
</jboss-deployment-structure>

如果不这样做,我的日志文件中会出现双时间戳:

11:08:21,910 INFO [stdout] (default task-2) 11:08:21.910 [default task-2] DEBUG org.apache.http.wire

正确配置SLF4J后,修改JVM的logging.properties文件就像魅力一样:

/usr/lib/jvm/jre-1.8.0-openjdk-1.8.0.91-2.b14.fc22.x86_64/lib/logging.properties
org.apache.http.level = SEVERE
org.apache.http.wire.level = SEVERE

请注意,在正确配置SLF4J之前,apache http客户端文档中列出的方法的 none 无效。