mybatis源码解析1>日志


今日任务1>mybatis默认使用什么来记录日志
		
			2>Mybatis的日志和Spring整合时会发生什么变化

//1.>准备工作 连接数据库的基本四项
mybatis源码解析1>日志_第1张图片
2 pom文件 也就一个mybatis 的jar以及mysql的jar
mybatis源码解析1>日志_第2张图片
3.>log4j配置文件
mybatis源码解析1>日志_第3张图片
4> 我这里暂且写一个查询接口吧
mybatis源码解析1>日志_第4张图片
当我们使用原生的Mybatis的时候,可以看出来我们此时是可以打印log4j的日志的
mybatis源码解析1>日志_第5张图片
呢么 呢么Mybatis究竟是靠什么输出日志的呢?
mybatis源码解析1>日志_第6张图片
在Mybatisde的jar包中有一个logging包
优先使用 useSlf4jLogging(); 然后使用useCommonsLogging();。。。
也就是说mybatis的日志借助第三方日志框架的
所以我们加了log4j的jar 会打印Log4j日志
但是 问题来了
Mybatis+log4j 会打印log4j日志
mybatis+Spring+ log4j不会打印日志 为什么
//看顺序 先加载的slf4j 然后jcl 然后log4j
我们知道 Spring5的日志技术默认采用的是Spirng-jcl的日志技术
mybatis源码解析1>日志_第7张图片
也就是说当mybatis和Spring整合的时候 Spring给截胡了 Spring的JCL先初始化
理论上jul也应该有日志的啊 不是红色的么
但是为什么没有, 因为级别我们SSM 或者说是Spring中的日志是Info一下的
但是说JUL的日志是Info以上的 所以不会打印日志
【此处使用的是Spring5版本 如果使用Spring4版本会打印log日志】
因为Spring4采用原生的jcl打印日志
Spring5 修改了Jcl源码 默认为jul了

你可能感兴趣的:(mybatis源码解析1>日志)