衆所周知,Mybatis是在ORM領域,使用的較爲廣泛,而Mybatis日誌體系,也是值得我們學習的地方,由於各個廠商都有自己的日誌api,基於此,Mybatis對日誌進行了封裝,來適配各個廠商的日誌
1. 日誌級別
在Mybatis內部定義了4個級別:
- Error:錯誤
- warn:警告
- debug:調試
- 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