0
点赞
收藏
分享

微信扫一扫

Mybatis源码学习---(day05)日志模块

佳简诚锄 2022-04-06 阅读 155

一、重点

1.常用的日志框架有哪些?各有什么特点?

日志属性对应日志模块包名实现方式
SLF4Jslf4j使用SLF4J日志框架实现
LOG4Jlog4j使用Log4J日志框架实现(1.x版本)
LOG4J2log4j2使用Log4J日志框架实现(2.x版本)
JDK_LOGGINGjdk14使用java.util.logging实现(JUL)
COMMONS_LOGGINGcommons使用Apache Commons Logging(JCL)实现
STDOUT_LOGGINGstdout使用System类实现
LOGBACKstdout使用System类实现
NO_LOGGINGnologging不打印日志

SLF4J:简单日记门面(全称为simple logging Facade for Java),为各种日志框架提供一个简单统一的接口,使我们在切换日志框架的时候可以直接替换jar包就可以了,而无需修改源代码
Jakarta Commons Logging(JCL):提供了一个简单的日志抽象,允许开发人员使用特定的日志实现。JCL可以使用其他的日志实现
log4j/log4j2:分别是log4j的1.x版本和2.x版本,log4j2在性能和设计上都是完胜log4j的1.x版本
logback:springboot logging默认的日志框架、可以很好的和slf4j日志门面结合
jdklogging:从jdk1.4起,JDK开始自带一套日志系统。JDK Logger最大的优点就是不需要任何类库的支持,只要有Java的运行环境就可以使用

2.mybatis中日志模块用到了哪几种设计模式?

第一用了工厂模式mybatis中的日志实例都是Log接口的实现、但是如果用户自己去初始化对象的话可能有复杂的参数等需要构建,这样一来就增加了使用的成本。所以这里使用LogFactory来初始化Log对象,然后用来记录日志
在这里插入图片描述
2.适配器模式
Log接口的方法分别是trace、debug、warn和error,但是有些框架并非是用的这几个等级。并且使用方法也不一样。宏观对外使用方法一样、但是内部不一样的转换工作就对给了适配器
在这里插入图片描述
3.

举报

相关推荐

MySQL学习day05

day05

Day05

Java学习记录day05

Vue day05

Java Day05

day05数组

Day05 - TypeScript

C语言学习Day05

0 条评论