-1

我開始一個新的java應用程序並打算使用log4j2(我是log4j2的新手) 我的應用程序記錄正確,但我想獲得擺脫我得到的所有警告org.apache.http使用log4j2減少org.apache.http.client的日誌噪音

根據https://hc.apache.org/httpcomponents-client-ga/logging.html我應該能夠通過log4j控制(雖然他們只給出了log4j的例子,而不是log4j2)。

我的日誌文件有一個像

項目2017年9月16日上午09時01分32秒 org.apache.http.client.protocol.ResponseProcessCookies processCookies 警告:無效的餅乾頭:「設置Cookie : visid_incap_661002 = + HabQKJHRbKzy; expires = Sun,2018年9月16日11:41:58 GMT; path = /; Domain = .mydomain.com「。 無效的「過期」屬性:陽光,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> 

感謝所有幫助

+0

您提供日誌不相匹配在配置文件中找到任何模式。你能給出適當的日誌嗎?或者,正確的配置文件? – sazzad

+0

hello sazzad, 有一件事我忘了在例子中是我的應用程序(ntapp和我已經將它添加到示例)。 這個log4j2.xml是在類路徑中,我知道應用程序正確使用它,因爲我在控制檯中得到了什麼。 我也進入控制檯,當我運行應用程序,從http描述消息,這就是我想擺脫 謝謝 – randy

+0

好吧,**如果**你提供的日誌是完全正確的你會得到什麼,那麼它不是通過log4j2完成的(因爲模式不匹配)。所以,我認爲你不會被log4j2壓制。 – sazzad

回答

0

因此,本文AP梨是解決我的問題的正確方法,而且確實如此。

Stackoverflow article - Solution to my issue

仍想明白,爲什麼我不能通過記錄器做到這一點(從HTTP客戶端的文檔它看起來像我應該能夠)