簡體   English   中英

顯式設置apache HttpClient日志級別

[英]Set apache HttpClient log level explicitly

我正在開發一個Web應用程序,其中使用apache HttpClient來制作一些httpRequest。
對於日志記錄我使用slf4j與slf4j-log4j12'插件'

我想要的是為我的應用程序設置DEBUG日志級別,但為HttpClient設置WARN級別。 我正在log4j.properties發送日志記錄屬性。

log4j.rootLogger=DEBUG,console,file

log4j.appender.console=org.apache.log4j.ConsoleAppender
log4j.appender.console.layout=org.apache.log4j.PatternLayout   
log4j.appender.console.layout.ConversionPattern=%d{ABSOLUTE} %5p %c{1}:%L - %m%n

log4j.appender.file=org.apache.log4j.RollingFileAppender   
log4j.appender.file.File=log.log   
log4j.appender.file.threshold=DEBUG

初始化和日志記錄就是這樣

import org.slf4j.LoggerFactory;
private static final org.slf4j.Logger LOG = LoggerFactory.getLogger(<MY_CLASS>.class.getName());

LOG.debug("This is debug info");
LOG.warn("This is warn info");

到目前為止,我將以下內容設置為使用HttpClient的類

System.setProperty("org.apache.commons.logging.Log", "org.apache.commons.logging.impl.NoOpLog");

為了“停用”日志記錄,但這會完全停止日志記錄,並且不會根據需要將級別設置為WARN。

到目前為止,我已經嘗試了以下SO問題的建議,但沒有運氣。 我還看到很多其他的建議幾乎相同。

傳遞執行參數如java -Dlog4j對我來說不是一個解決方案。

作為旁注我的項目有兩個模塊,

  • '父模塊'定義了日志記錄屬性,並具有slf4j(1.7.5)和slf4j-log4j12依賴項
  • 子模塊是我使用HttpClient(4.3.4)的地方,它只有
    slf4j(1.7.5)依賴

嘗試將這三行添加到log4j.properties文件中:

log4j.logger.org.apache.http=WARN
log4j.logger.org.apache.http.headers=WARN
log4j.logger.org.apache.http.wire=WARN

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM