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根据我所处的环境关闭 CODE 的日志记录(我知道如何从 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 回答