专栏首页叔叔的博客MyBatis的日志系统

MyBatis的日志系统

看一看mybatis的日志实现

想debug流程的,可以跟我github代码。

https://github.com/unclehh/mybatis-review.git

这是基本使用:

@Test
public void log() {
    LogFactory.useLog4JLogging();
    Log log = LogFactory.getLog(LogFactoryTest.class);
    logSomething(log);
    assert log.getClass().getName() == Log4jImpl.class.getName();
}

一、LogFactory的初始化

这里是在静态代码块里,加载所有的log实现类,包括slf4j、common logging、log4j2、log4j、jdk logging、no logging。

举log4j的例子,mybatis会加上log4j的依赖,Log4jImpl通过log4j实现Log的四种日志级别。

LogFactory.useLog4JLogging(),第一步会初始化Logfactory的logConstructor构造器,mybatis对上面几种log按顺序加载,如果加载成功了一个,后面的就不会再加载了。

二、LogFactory.getLog

在第一步的基础上,有了特定的构造器,就可以获取特定的log对象了。

三、总结

mybatis的日志系统,使用工厂模式,包装模式,代理模式,使之扩展性很好。

本文分享自微信公众号 - 叔叔的博客(gh_b2b55a55dca8),作者:吉吉

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2018-04-23

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 遇到的java随机数引起的阻塞问题

    最后通过使用jstack -[pid],发现 sun.security.provider.SecureRandom 这里锁住了,原来这是java产生随机数造成了...

    叔叔
  • 我们的spring事务的开发规范

    因为spring默认的事务传播机制是使用现有的事务,如果调用一个新建事务的service,那事务回滚需要很小心。内层的事务如果抓住异常没抛,那内层的回滚、外层的...

    叔叔
  • Jpopulator测试数据生成工具

    叔叔
  • 【每日小知识】简述线程、程序、进程

    线程与进程相似,但线程是一个比进程更小的执行单位。一个进程在其执行的过程中可以产生多个线程。与进程不同的是同类的多个线程共享同一块内存空间和一组系统资源,所以系...

    Python进击者
  • Synchronized 关键字详解

    Monitorenter 和 Monitorexit指令,会让对象在执行,使其锁计数器加1或者减1。每一个对象在同一时间只与一个 monitor(锁)相关联,而...

    Java架构师必看
  • 机器学习-数据清洗(二)

    如果接触到我上面的那篇文章,机器学习-入门,应该很清楚本文意欲为何。如果不知道为什么,请阅读一下那篇文章,以便打下基础,ok,废话不多说了,进入正题。

    brzhang
  • java多线程编程核心技术——第二章总结

    第一节synchronized同步方法目录 1.1方法内的变量为线程安全的 1.2实例变量非线程安全 1.3多个对象多个锁 1.4synch...

    用户1134788
  • 调查显示:企业将部署SDN提上议程

    研究公司发现,为了建立混合云,美国公司正准备在未来几年中将软件定义网络(SDN)技术投入生产。 ? IHS Inc.公司的Infonetics Research...

    SDNLAB
  • 【Nature】人工“迷你大脑”,首次揭示人脑神经网络建模机制

    【新智元导读】本周发表于《自然》的两篇论文向理解人类大脑神经网络迈出了重要一步。斯坦福大学的研究人员在培养皿中构建了神经元三维模型,并将两种不同脑区不同类型的细...

    新智元
  • 世界杯博彩狂欢你赶上了吗?数据预测还会改变哪些行业?

    ? 从天气预报看大数据预测的四个条件 在互联网之前便已经有基于大数据的预测分析了:天气预报。因为互联网,天气预报为代表的大数据预测的以下几个特征在更多领域得到...

    小莹莹

扫码关注云+社区

领取腾讯云代金券