Mybatis源码学习1-logging,exceptions包分析

1.兵马未动,日志先行

源码参考: tuguangquan/mybatis.

日志包得全貌

logging包全貌

LogFactory,LogException,logFactoryTest,Log分析

LogFactory.java

日志工厂,这个类可以说是面向mybatis其他包的一个接入点,这个工厂类整合了各种常用的日志插件:log4j,log4j2,nolongging,slf4j,标准输出,用户自定义日志。
这个类的重点如下:

  • 静态块的工作
  • 外部调用入口:Log getLog(Class<?> aClass)方法->
  • 构建具体日志的方法:setImplementation(Class<? extends Log> implClass),参数是不同日志的适配器,方法的返回值是这个日志构造方法。(其实是得到这个具体日志的构造方法)
LogException.java

这个类继承PersistenceException,用于异常处理。

Log.java

这个是日志的接口类。

logFactoryTest

用于测试。

Slf4j包

Slf4j包情况
这个包是Slf4j日志的Adopter。在日志工厂中,静态块会调用useSlf4jLogging()方法,它再调用setImplementation(Class<? extends Log> implClass) 方法并将Slf4jImpl.class作为参数传入。在Slf4jImpl中,具体的日志加载都交给了这个日志自己的工厂方法处理,补充一点,Slf4j包中其他两个类都用来辅助的,在Slf4jImpl类的构造方法的分支语句中发挥作用。

对于剩下的包

剩下的stdout,nologging,jdk14,log4j,log4j2,commons包中的xxxImpl类都是类是的操作,使用各种的工厂方法创建日志对象。

jdbc包

记录任何JDBC语句的日志代理。暂时未发现使用的地方。

exceptions包

类图

exception包类图
这个包没啥可说的

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值