Logback 加载配置优先级

Logback load configuration priorities

官方文档describes priorities for classpath configuration (test -> groovy -> xml -> Configurator SPI) and mention系统属性命名为logback.configurationFile指定外部配置。但是,如果产品在类路径中包含 logback.xml 并且用户使用 logback.configurationFile 属性 指定外部配置,该怎么办?哪个配置将加载类路径或外部?

至少在1.2.3版本(最新的稳定版)中,属性的优先级最高。 ch.qos.logback.classic.util.ContextInitializer class in findURLOfDefaultConfigurationFile 方法中加载的配置

这是从高到低优先级的完整列表:

  1. logback.configurationFile系统属性(只接受*.xml*.groovy
  2. logback-test.xml 来自类路径
  3. logback.groovy 来自类路径
  4. logback.xml 来自类路径
  5. ConfiguratorMETA-INF/services/ch.qos.logback.classic.spi.Configurator
  6. 指定的实现
  7. 默认 BasicConfigurator(控制台附加程序)

来源:logback ContextInitializer v.1.2.6.