我有一个业务类,里面指定了org.apache.commons.logging.impl.SimpleLog作为日志记录的实现。代码如下。

public SimpleContactCreator(){enableHeaderWireAndContextLogging();}private void enableHeaderWireAndContextLogging(){System.setProperty("org.apache.commons.logging.Log", "org.apache.commons.logging.impl.SimpleLog");System.setProperty("org.apache.commons.logging.simplelog.showdatetime", "true");System.setProperty("org.apache.commons.logging.simplelog.log.httpclient.wire.header", "debug");System.setProperty("org.apache.commons.logging.simplelog.log.org.apache.commons.httpclient", "debug");}

在运行时,这个SimpleLog的实现是如何被HttpClient检测出来的?

当我调用HttpClientBuilder.create().build()的时候,log检测就发生了:

查看方法findUserSpecifiedLogClassName:

从system property里取属性org.apache.commons.logging.Log的值:

这里就是我配置的SimpleLog。
要获取更多Jerry的原创文章,请关注公众号"汪子熙":

Apache HttpClient库里的日志实现检测原理相关推荐

  1. Apache HttpClient库的日志级别设置原理

    在你的业务类的构造函数里调用下面这个enable方法,以启用日志: private void enableHeaderWireAndContextLogging(){System.setPropert ...

  2. Apache httpclient的execute方法调试

    因为工作需要,想研究一下execute执行的逻辑. 在这一行调用execute: response = getHttpClient().execute(get); getHttpClient的实现: ...

  3. HttpClient库设置超时

    HttpClient库API跟Lucene一样,每个版本的API都变化很大,这有点让人头疼.就好比创建一个HttpClient对象吧,每一个版本的都不一样. 3.X是正常的Java语法 HttpCli ...

  4. 基于深度学习的恶意样本行为检测(含源码) ----采用CNN深度学习算法对Cuckoo沙箱的动态行为日志进行检测和分类...

    from:http://www.freebuf.com/articles/system/182566.html 0×01 前言 目前的恶意样本检测方法可以分为两大类:静态检测和动态检测.静态检测是指并 ...

  5. java httpclient 关闭_java中使用httpclient如何关闭debug日志

    直接上代码,在http请求前加上下面的代码即可// 设置默认工厂类 system.setproperty("org.apache.commons.logging.logfactory&quo ...

  6. 用Apache HttpClient实现URL重定向

    分享一下我老师大神的人工智能教程.零基础!通俗易懂!风趣幽默!还带黄段子!希望你也加入到我们人工智能的队伍中来!https://blog.csdn.net/jiangjunshow <用Apac ...

  7. Apache HttpClient 4 3开发指南

    <Apache HttpClient 4.3开发指南> 作者:chszs,转载需注明.博客主页:http://blog.csdn.net/chszs 一.概述 Apache HttpCli ...

  8. Apache HttpClient连接池泄露问题排查

    Apache HttpClient连接池泄露问题排查 问题背景 业务系统主要的业务是一个数据聚合管理平台,其中系统有一个功能是同步所有资源(简称 大同步) 业务同步数据请求数据工具是适配 Apache ...

  9. Golang高性能日志库zap + lumberjack 日志切割组件详解

    文章篇幅较长,可以先收藏防止迷路~ 目录 zap日志库 1. why zap? 2. 简单使用 3. 自定义logger例子 4. Gin项目使用zap 6. lumberjack 日志切割组件 za ...

最新文章

  1. HTTP客户端连接,选择HttpClient还是OkHttp?
  2. Android移动开发之【Android实战项目】剑走偏锋-得会导入别人的Android Studio项目!
  3. 怎样制作一个 Python Egg
  4. C#学习日志 day 5 plus------ interface 数组及stringBuilder相关
  5. 从0到50家AI独角兽,中国人工智能凭什么让世界刮目相看?
  6. 详细讲解Python中继承内容之 单继承;(一)
  7. identification for completing the census
  8. mysql 事务sqlserver_MYSQL高级特性 -- 事务处理_sqlserver
  9. Chrome扩展应用Infinity New Tab的备份
  10. scikit-learn点滴
  11. bzoj3143: [Hnoi2013]游走
  12. qt在加入Q_OBJECT宏之后出现编译错误
  13. 【Navicat】查看1000行以后的内容
  14. 易语言中关于成员变量的声明
  15. SpringMVC+MyBatis整合——事务管理
  16. python中常用的函数有哪些_python里常用的函数类型
  17. eclipse中出现代码覆盖的颜色信息,如何去掉
  18. 【勒索病毒数据恢复】Phobos勒索病毒家族之.[back23@vpn.tg].makop
  19. 电子科技大学软件工程大一到大二课程
  20. 【Ubuntu】Linux系统安装谷歌浏览器简易教程

热门文章

  1. angular 示例项目
  2. VS中修改站点运行方式(集成 Or 经典)
  3. 仿VS窗体效果+outlookbar效果
  4. silverlight中如何方便在多个场景即Xaml文件之间随意切换?
  5. SonarQube6.2源码解析(一)
  6. sklearn自学指南(part60)--神经网络模型(无监督)
  7. R语言观察日志(part3)--repeat循环
  8. numpy基础(part11)--特征值与奇异值分解
  9. Python爬取天气数据及可视化分析!
  10. SAP 电商云 Spartacus UI B2B checkout 点击 Continue 不能跳转到下一页面