美文网首页
LoggerFactory.getLogger用法

LoggerFactory.getLogger用法

作者: 小小的coder | 来源:发表于2020-06-08 23:51 被阅读0次

    简述:

    使用指定类初始化日志对象,在日志输出的时候,可以打印出日志信息所在类

    如:Logger logger = LoggerFactory.getLogger(com.lz.Test.class);
    logger.debug("日志信息");
    将会打印出: com.lz.Test : 日志信息

    代码分析:

    由Logger的名称可以知道这句的意思是用Logger工厂获取Logger实例,但是不明白其中的原理,看了看源码:

    LoggerFactory中的getLogger方法,返回一个以name命名的静态绑定的实例,而这个name一般以Logger实例所在的类命名,如通过类名.Class.getName()获取。

    public static ILoggerFactory getILoggerFactory() {

    if (INITIALIZATION_STATE == UNINITIALIZED) {

    INITIALIZATION_STATE = ONGOING_INITIALIZATION;

    performInitialization();

    }

    switch (INITIALIZATION_STATE) {

    case SUCCESSFUL_INITIALIZATION:

    return StaticLoggerBinder.getSingleton().getLoggerFactory();

    case NOP_FALLBACK_INITIALIZATION:

    return NOP_FALLBACK_FACTORY;

    case FAILED_INITIALIZATION:

    throw new IllegalStateException(UNSUCCESSFUL_INIT_MSG);

    case ONGOING_INITIALIZATION:

    // support re-entrant behavior.

    // See also http://bugzilla.slf4j.org/show_bug.cgi?id=106

    return TEMP_FACTORY;

    }

    throw new IllegalStateException("Unreachable code");

    }

    很明显这是返回ILoggerFactory的实例,用于调取getLogger方法。在Logger接口中规定了日志的输出的方法,根据相应的参数需要设置就可以在控制台看到输出的日志信息了。

    原文地址:https://www.cnblogs.com/lizhen-home/p/7655869.html

    相关文章

      网友评论

          本文标题:LoggerFactory.getLogger用法

          本文链接:https://www.haomeiwen.com/subject/hprjtktx.html