Gradle 使用logback-test.xml而不是logback.xml进行spring引导
我有一个gradle项目,结构如下Gradle 使用logback-test.xml而不是logback.xml进行spring引导,gradle,spring-boot,slf4j,logback,build.gradle,Gradle,Spring Boot,Slf4j,Logback,Build.gradle,我有一个gradle项目,结构如下 > > main (one project) > shared (another project) > api >> shared2 (another project) 主项目依赖于共享和共享项目2。共享和shared2项目在其src/test/resources文件夹中都有一个logback-test.xml,主项目在其src/main/resources文件夹中都有一个logback.xml 当我在eclipse中使
>
> main (one project)
> shared (another project)
> api
>> shared2 (another project)
主项目依赖于共享和共享项目2。共享和shared2项目在其src/test
/resources文件夹中都有一个logback-test.xml,主项目在其src/main
/resources文件夹中都有一个logback.xml
当我在eclipse中使用其主应用程序类运行主项目时,我希望在类路径中只加载logback.xml。相反,我看到了发现多个slf4j绑定的警告,更重要的是,日志设置是从logback-test.xml而不是logback.xml应用的。下面是文件夹结构,以作进一步说明
>
> main
> > src/main/resources
> > > logback.xml
> shared
> > src/test/resources
> > > logback-test.xml
> api/shared2
> > src/test/resources
> > > logback-test.xml
在logback-test.xml文件中,我在调试级别启用了org.springframework调试,在logback.xml文件中,我在信息级别启用了它的set。启动应用程序时,我会看到spring调试日志
下面是github项目的示例
以下是logback库查找配置xml文件的顺序:(来自文档)
logback test.xml
,并相应地记录
您可以通过设置名为
logback.configurationFile
的系统属性来指定自己的配置文件位置,但为什么会找到logback测试文件呢。当我运行应用程序时,除非我运行测试,否则测试类和资源不应该是可用的。我将其标记为已回答,但我认为在运行非测试代码时,不知何故测试类路径也是可访问的是没有意义的。通常情况并非如此。当slf4j抱怨发现多个slf4j绑定时,它还会给出这些绑定的位置。你能分享一下这个警告吗?