[英]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
对我来说不是一个解决方案。
作为旁注我的项目有两个模块,
尝试将这三行添加到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.