关闭HttpClient控制台输出语句

关闭HttpClient控制台输出语句

HttpClient相信大家都不陌生,在Java中经常用来在后台进行一些请求访问或者接口调用。当然这里不是介绍HttpClient使用的,关于HttpClient使用方面的文章,大家可以去百度或者Google上找,很多的。

重点部分

相信大家在使用HttpClient的过程中会发现他在控制台上有很多LOG输出,在我们开发的时候这些输出方便我们对请求中的内容以及请求返回内容进行查看和反馈。

  • 那么问题来了

当我们在部署到QA环境甚至是测试环境的时候,这些输出就是不必要的了,甚至还会影响服务器的IO性能了,那我们如何来关闭呢?

需要强调的一点是,这个东西在网上找了很久都没有找到可行的方法,所以在这里普及一下。

  1. 使整个LOG输出的级别调高,只要高过于DEBUG级别,HttpClient的控制台输出就失效了。
  2. 在log4j.properties或者项目中log4j的配置文件中,添加这句话:log4j.logger.org.apache.http.client=INFO,这句话的意思就是将org.apache.http.client这个包中的所有log输出级别调为INFO级别,那httpclient类是在此包下,当然之后就不会在输出这些控制台语句了。
  • 那相信有同学会问既然有了第一种解决方案为什么又要出现第二种那么复杂的呢?

当然我不否认第一种解决方案已经能满足大部分的要求了,但我们来试想一下这样一种场景:在QA环境调试中你需要查看一些DEBUG权限的输出语句,比如Mybatis的SQL语句就是这个级别,但是如果你采用第一种解决方案就会一并连Mybatis的SQL也不打印了,所以第二种方案就适用在这种情况下。当然这种情况并不多,只是在这里写一下方便有用到的同学使用而已。

猜你喜欢

转载自blog.csdn.net/WolfySein/article/details/47428313