4

HTTP クライアントの log4j 構成は次のとおりです。

log4j.appender.HTTPCLIENT_APPDR=com.xxx.log.FileAppender
log4j.appender.HTTPCLIENT_APPDR.File=${user.dir}/log/access.log
log4j.appender.HTTPCLIENT_APPDR.layout=org.apache.log4j.PatternLayout
log4j.appender.HTTPCLIENT_APPDR_APPDR.layout.ConversionPattern=%d{dd MMM yyyy HH:mm:ss SSS}ms %-5p [%t] - %m%n
log4j.appender.HTTPCLIENT_APPDR.MaxFileSize=20000KB
log4j.appender.HTTPCLIENT_APPDR.MaxBackupIndex=30
log4j.logger.org.apache.http=DEBUG,HTTPCLIENT_APPDR

現在の環境に応じて、コードからのロギングをオフにしたいとhttpclient思います(log4j.propertiesから無効にする方法を知っています)。

これらの行を挿入してみました:

+    System.setProperty("log4j.logger.org.apache.http", "ERROR"); 

また

+    Logger.getLogger("log4j.logger.org.apache.http").setLevel(Level.off)

アプリケーションの開始時ですが、機能しません。

  1. Can I access the log4j properties from the System class?
  2. When I look at the Logger.getLogger("log4j.logger.org.apache.http") the level is null? Should it not be DEBUG?

What worked finally,

Logger.getLogger("org.apache.http").setLevel(org.apache.log4j.Level.OFF);

正しいキーを使用していませんでした。

よろしく、

4

2 に答える 2

7

最終的に機能したのは、 Logger.getLogger("org.apache.http").setLevel(org.apache.log4j.Level.OFF); 正しいキーを使用していませんでした。

于 2012-10-17T13:52:31.093 に答える
2

log4j.properties ファイルがある場合は、次の行を追加します

log4j.logger.org.apache.http=WARN

これは Apache HttpClient 4 でのみテストされています

于 2016-02-06T22:16:26.773 に答える