zoukankan      html  css  js  c++  java
  • Java 日志寻址介绍

    一般使用logger的方式为

       private Logger logger = LoggerFactory.getLogger(MybatisStartTest.class);
    

      

    进入getLogger

        public static Logger getLogger(Class<?> clazz) {
            Logger logger = getLogger(clazz.getName());
            if(DETECT_LOGGER_NAME_MISMATCH) {
                Class<?> autoComputedCallingClass = Util.getCallingClass();
                if(autoComputedCallingClass != null && nonMatchingClasses(clazz, autoComputedCallingClass)) {
                    Util.report(String.format("Detected logger name mismatch. Given name: "%s"; computed name: "%s".", new Object[]{logger.getName(), autoComputedCallingClass.getName()}));
                    Util.report("See http://www.slf4j.org/codes.html#loggerNameMismatch for an explanation");
                }
            }
    
            return logger;
        }
    

     

    1、进入getLogger(clazz.getName());

        public static Logger getLogger(String name) {
            ILoggerFactory iLoggerFactory = getILoggerFactory();
            return iLoggerFactory.getLogger(name);
        }
    

      

    2、进入getILoggerFactory

    3、进入performInitialization方法

    4、   进入bind方法

        7. 如果存在多个日志框架打印提示及选择

    5、然后进入findPossibleStaticLoggerBinderPathSet方法。获得StaticLoggerBinder所在jar包路径

    6、将路径增加到staticLoggerBinderPathSet集合中。

    这个就是log的寻址过程。

    8、StaticLoggerBinder 这个类存在于logback中,通过这个类获得日志工厂再得实现。

  • 相关阅读:
    OpenCV基本函数学习
    OpenCV:概述、结构和内容
    NS2典型例子简单分析
    NS2仿真过程中需要的语言及基本组件
    洛谷 P2393 yyy loves Maths II
    洛谷 P1922 女仆咖啡厅桌游吧
    洛谷 P2559 [AHOI2002]哈利·波特与魔法石
    洛谷 P1301 魔鬼之城
    洛谷 P2383 狗哥玩木棒
    洛谷 P2298 Mzc和男家丁的游戏
  • 原文地址:https://www.cnblogs.com/linlf03/p/12450619.html
Copyright © 2011-2022 走看看