关闭HttpClient控制台输出语句
HttpClient相信大家都不陌生,在Java中经常用来在后台进行一些请求访问或者接口调用。当然这里不是介绍HttpClient使用的,关于HttpClient使用方面的文章,大家可以去百度或者Google上找,很多的。
重点部分
相信大家在使用HttpClient的过程中会发现他在控制台上有很多LOG输出,调试时需要这些信息,但发布正式办呢,不仅不需要还消耗IO..
当我们在部署到QA环境甚至是测试环境的时候,这些输出就是不必要的了,甚至还会影响服务器的IO性能了,那我们如何来关闭呢?
网上找了很多都无解,多次尝试终于找到解决方案,这里记录录一下!
直接上代码,直接配置 log4j.properties 文件
# @version $Id: log4j.properties 4 2017-10-23 14:30:36Z wsq $
# Rules reminder:
# DEBUG < INFO < WARN < ERROR < FATAL
# Global logging configuration
log4j.rootLogger = DEBUG, stdout
# My logging configuration...
log4j.logger.com.geong = DEBUG
# 设置WebService(axis)日志级别,不关闭超级影响效率
log4j.logger.org.apache.axis = ERROR
# 设置HttpClient的日志级别, wire是请求求header相关信息(调试时开启,设置改为DEBUG)
log4j.logger.org.apache.commons.httpclient = ERROR
log4j.logger.httpclient.wire = ERROR
## Console output...
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%5p %d %C: %m%n
参考官方文档
http://hc.apache.org/httpclient-3.x/logging.html