logback

logback:
入口: private final static Logger logger = org.slf4j.LoggerFactory.getLogger(ServiceTest.class);
第一次用到的时候,会从LoggerFactory中拿一个logger

1. org.slf4j.LoggerFactory.getLogger(name) --> ILoggerFactory iLoggerFactory = getILoggerFactory();
初始化一个ILoggerFactory,初始化时会调用org.slf4j.impl.StaticLoggerBinder.getSingleton() 来实现其他日志框架与slf4j的绑定(bind)。
logback-classic-1.1.2.jar包里面就有这个类,这就是 logback 与 slf4j 绑定的方法。

2. StaticLoggerBinder.getSingleton() 会去执行初始化动作
init() --> new ContextInitializer(defaultLoggerContext).autoConfig();

ContextInitializer
加载配置文件顺序:前一个为空,则加载下一个
logback.groovy --> logback-test.xml --> logback.xml

19:02:56,446 |-INFO in ch.qos.logback.classic.LoggerContext[default] - Could NOT find resource [logback.groovy]
19:02:56,447 |-INFO in ch.qos.logback.classic.LoggerContext[default] - Could NOT find resource [logback-test.xml]
19:02:56,447 |-INFO in ch.qos.logback.classic.LoggerContext[default] - Found resource [logback.xml] at [file:/E:/workspace/java-programs/sz-agent/sz-agent-server/target/classes/logback.xml]

 

 

30s重载配置:(<configuration scan="true" scanPeriod="30 seconds" debug="false">)
19:02:56,592 |-INFO in ReconfigureOnChangeFilter{invocationCounter=0} - Will scan for changes in [[E:\workspace\java-programs\tz-agent\tz-agent-server\target\classes\logback.xml]] every 30 seconds.

你可能感兴趣的:(logback)