logback配置载入顺序,配置文件命名优先级
1. logback配置类的初始化在:
org.slf4j.impl.StaticLoggerBinder类中的静态代码块中:
初始化调用了上下文初始化的自动配置方法:
自动配置中的关键代码调用 findURLOfDefaultConfigurationFile方法去查找配置文件:
会通过这四个地方查找logback的配置文件
findConfigFileURLFromSystemProperties函数查找的是:
final public static String CONFIG_FILE_PROPERTY = "logback.configurationFile";
所以最后总结的文件加载顺序是(前一个有就不会去查找下一个):
final public static String CONFIG_FILE_PROPERTY = "logback.configurationFile";
final public static String GROOVY_AUTOCONFIG_FILE = "logback.groovy";
final public static String TEST_AUTOCONFIG_FILE = "logback-test.xml";
final public static String AUTOCONFIG_FILE = "logback.xml";
如果配置文件都不存在会走到
ch.qos.logback.classic.BasicConfigurator类初始化配置
2.springboot的logback初始化:
在org.springframework.boot.logging.LoggingApplicationListener类中
其中关于配置文件的关键代码在调用initializeSystem方法中
3.动态修改配置:
可以通过:
LoggerContext lc = (LoggerContext) StaticLoggerBinder.getSingleton().getLoggerFactory();
获取到LoggerContext 上下文动态修改配置,例子(动态添加一个Appender):https://blog.csdn.net/huang007guo/article/details/109186837
原文作者:hank009
原文地址: https://blog.csdn.net/huang007guo/article/details/109177007
本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
原文地址: https://blog.csdn.net/huang007guo/article/details/109177007
本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
相关文章