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

cf33ef36d5d9a780beeccaeb7d9e88a4.png

3、进入performInitialization方法

0acb62f30494c8d41726c0cb57f693d8.png

4、   进入bind方法

417b62c0d71c0ce4881992548774361c.png

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

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

6615c79b284c2ababea4de8882ed4577.png

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

33c0c3c3d7b24add818b5a32fe9e24ec.png

这个就是log的寻址过程。

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

5805a90e50449b02b9292d8ed44b1a53.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值