解决log4j和self4j日志报错Could NOT find resource [logback.groovy]及Could NOT find resource [logback-test.xml]问题

时间:2023-03-08 16:41:38
解决log4j和self4j日志报错Could NOT find resource [logback.groovy]及Could NOT find resource [logback-test.xml]问题

事件背景:

我的log4j和self4j按照网上的配置,配置成功了,但是报错如下:

解决log4j和self4j日志报错Could NOT find resource [logback.groovy]及Could NOT find resource [logback-test.xml]问题

让我很是郁闷,于是找了一大圈。。。。。。。。

解决方案:

总结来说就是:log4j.properties和logback.xml这两个放的文件(这两个方案源自于网上)

1、配置文件放到 classpath 目录即:target/classes

2、设置 resources 目录为 Resource roots

根据 Maven 标准目录结构, main 和 test 目录下都会有 resources 目录:
src/main/java Application/Library sources (java源代码文件,会自动编译到classes文件夹下)
src/main/resources Application/Library resources (资源库,会自动编译到classes文件夹下)
src/test/java Test sources (测试java源代码文件)
src/test/resources Test resources (测试需要的资源库)

简单总结

log4j.properties放到src/test/resources下

logback.xml放到src/main/resources下

------------------------------------------------------分割线------------------------------------------------------------------------

以上并没有解决我的问题,因为我的配置放的位置并没有错误

于是,我又再次查询slf4j+logback配置和logback.groovy配置方式相关资料

结果发现是因为引入的依赖jar的问题,pom中引用这几个版本的jar完美解决问题

        <dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
<version>1.5.6</version>
<type>jar</type>
</dependency> <dependency>
<groupId>slf4j-simple</groupId>
<artifactId>slf4j-simple</artifactId>
<version>1.5.2</version>
</dependency> <dependency>
<groupId>ch.qos.logback</groupId>
<artifactId>logback-core</artifactId>
<version>1.1.2</version>
</dependency> <dependency>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
<version>1.2.14</version>
<scope>provided</scope>
</dependency>

再次运行代码结果如下:

解决log4j和self4j日志报错Could NOT find resource [logback.groovy]及Could NOT find resource [logback-test.xml]问题

到此结束,成功修复这个问题!