使用log4j2时,请从org.apache.http.client中减少日志记录噪声



我正在启动一个新的java应用程序并将使用log4j2(我是newbie to log4j2)我的应用程序记录正确,但我想摆脱我从org.apache.http

的所有警告

根据https://hc.apache.org/httpcomponents-client-ga/logging.html,我应该能够通过log4j控制(尽管它们仅给出log4j而不是log4j2的示例)。

我的日志文件具有

之类的条目

2017年9月16日上午9:01:32 org.apache.http.client.protocol.ResponseProcessCookies ProcessCookies 警告:无效的饼干标题:" set-cookie: visid_incap_661002 = habqkjhrbkzy; 到期=太阳,2018年9月16日11:41:58 GMT;路径=/;域= .mydomain.com"。 无效的"到期"属性:Sun,2018年9月16日11:41:58 GMT

我试图抑制org.apache.http.client的所有警告一些文章对客户说实际上正在使用org.apache.http.wire,但我尝试过任何尝试

这是我的log4j2.xml

<?xml version="1.0" encoding="UTF-8"?>
<Configuration status="warn">
    <Appenders>
        <RollingFile name="fileLogger" fileName="${basePath}/app-info.log" filePattern="${basePath}/app-info-%d{yyyy-MM-dd}.log">
            <PatternLayout>
                <pattern>[%-5level] %d{yyyy-MM-dd HH:mm:ss.SSS} [%t] %c{1} - %msg%n</pattern>
            </PatternLayout>
            <Policies>
                <TimeBasedTriggeringPolicy interval="1" modulate="true" />
            </Policies>
        </RollingFile>
        <Console name="console" target="SYSTEM_OUT">
            <PatternLayout   pattern="[%L][%-5level] %d{yyyy-MM-dd HH:mm:ss} [%t] %c{1} - %msg%n" />
        </Console>
    </Appenders>
    <Loggers>
        <logger name="org.apache.http.client" level="ERROR" />
        <logger name="org.apache.http.wire" level="ERROR" />
        <logger name="org.apache.commons.httpclient" level="ERROR" />
        <logger name="ntapp" level="debug" additivity="true">
           <appender-ref ref="fileLogger" level="INFO" />
        </logger>
        <Root level="INFO" additivity="false">
            <appender-ref ref="console" />
        </Root>
    </Loggers>
</Configuration>

感谢您的任何帮助

,因此本文似乎是解决我的问题的正确方法。

stackoverflow文章 - 解决我的问题

的解决方案

仍然想理解为什么我无法通过记录器(来自HTTP客户端的DOC,看起来我应该可以做到))

最新更新