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
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章