Mybatis源码-详解Mybatis日志设计

众所周知,Mybatis是在ORM领域,使用的较为广泛,而Mybatis日志体系,也是值得我们学习的地方,由于各个厂商都有自己的日志api,基于此,Mybatis对日志进行了封装,来适配各个厂商的日志

1. 日志级别

在Mybatis内部定义了4个级别:

  1. Error:错误
  2. warn:警告
  3. debug:调试
  4. trance:

2. 日志优先级

error>warn>debug>trance

3. 源码解析

接口

org.apache.ibatis.logging.Log

该接口定义了一系列的常用日志方法,便于日志打印

/**
 * 日志相关接口
 * @author Clinton Begin
 */
public interface Log {
  /**
   * 判断debug是否打开
   * @return
   */
  boolean isDebugEnabled();

  /**
   * 判断trance是否打开
   * @return
   */
  boolean isTraceEnabled();

  /**
   * 错误日志打印
   * @param s
   * @param e
   */
  void error(String s, Throwable e);

  void error(String s);

  /**
   * debug日志打印
   * @param s
   */
  void debug(String s);

  /**
   * trance日志打印
   * @param s
   */
  void trace(String s);

  /**
   * warn 日志打印
   * @param s
   */
  void warn(String s);

}

实现类:

基于各个厂商的日志对Log有以下实现,都基本上是根据厂商日志,编写对应的适配器类来调用对应的日志系统

日志集成核心类

org.apache.ibatis.logging.LogFactory
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章