如何在Http Client 4.1中禁用log4j日志记录以登录到FileAppender

Ala*_*ain 4 java log4j httpclient

这是我的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
Run Code Online (Sandbox Code Playgroud)

我希望它httpclient根据我所处的环境关闭来自CODE 的日志记录(我知道如何从log4j.properties中禁用它).

我尝试插入这些行:

+    System.setProperty("log4j.logger.org.apache.http", "ERROR"); 
Run Code Online (Sandbox Code Playgroud)

要么

+    Logger.getLogger("log4j.logger.org.apache.http").setLevel(Level.off)
Run Code Online (Sandbox Code Playgroud)

在我的应用程序的开始但它不起作用.

  1. Can I access the log4j properties from the System class?
  2. When I look at the Logger.getLogger("log4j.logger.org.apache.http")级别为空?它应该不是调试吗?

    什么最终起作用,

    Logger.getLogger("org.apache.http").setLevel(org.apache.log4j.Level.OFF);
    
    Run Code Online (Sandbox Code Playgroud)

    我没有使用正确的密钥.

    问候,

Ala*_*ain 7

什么最终起作用,Logger.getLogger("org.apache.http").setLevel(org.apache.log4j.Level.OFF); 我没有使用正确的密钥.

  • 为我工作。我把它放在代码中,重新部署,一切都很好。感谢您帮助我使日志可读。 (2认同)