slf4j自動綁定實現類原理

slf4j自動綁定實現類的方式基於約定:它要求你在實現類的包名和拿到LoggerFactory實例的文件路徑必須是:org/slf4j/impl/StaticLoggerBinder.class

有了這個約定就好辦了,slf4j在自己的基本類LoggerFactory裏,直接調用實現類StaticLoggerBinder拿到LoggerFactory的實例

看代碼:下面是我自己實現的一個:StaticLoggerBinder

public class StaticLoggerBinder {

    private static final StaticLoggerBinder SINGLETON = new StaticLoggerBinder();
    private static final String loggerFactoryClassStr = MyLoggerFactory.class.getName();

    public static final StaticLoggerBinder getSingleton() {
        return SINGLETON;
    }


   /**
     * 初始化我自己的LoggerFactory
     *

     */

    private StaticLoggerBinder() {
        loggerFactory = new MyLoggerFactory();
    }

    private final ILoggerFactory loggerFactory;

    /**
     * 得到實現類
     *
     * @return
     */
    public ILoggerFactory getLoggerFactory() {
        return loggerFactory;
    }

    /**
     * 得到實現類的名字
     *
     * @return
     */
    public String getLoggerFactoryClassStr() {
        return loggerFactoryClassStr;
    }


}
發佈了45 篇原創文章 · 獲贊 20 · 訪問量 7萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章