Log4J和slf4j的debug日志问题

来源:互联网 发布:access数据库教程视频 编辑:程序博客网 时间:2024/05/24 05:48

很多人知道,在使用slf4j的过程中通常会引入两个jar包,大概如下:

<!-- https://mvnrepository.com/artifact/org.slf4j/slf4j-api --><dependency>    <groupId>org.slf4j</groupId>    <artifactId>slf4j-api</artifactId>    <version>1.7.21</version></dependency>
<!-- https://mvnrepository.com/artifact/org.slf4j/slf4j-simple --><dependency>    <groupId>org.slf4j</groupId>    <artifactId>slf4j-simple</artifactId>    <version>1.7.21</version></dependency>

当使用最终的日志实现,如Log4j时,又会引入log4j相关的jar包,如下:

<!-- https://mvnrepository.com/artifact/log4j/log4j --><dependency>    <groupId>log4j</groupId>    <artifactId>log4j</artifactId>    <version>1.2.17</version></dependency>
<!-- https://mvnrepository.com/artifact/org.slf4j/slf4j-log4j12 --><dependency>    <groupId>org.slf4j</groupId>    <artifactId>slf4j-log4j12</artifactId>    <version>1.7.21</version></dependency>

这样就可以在Java应用程序(Java Web服务和Java程序)中,输出由slf4j编写的日志。

但在使用过程中发现,在执行测试用例(加载Spring或未加载Spring)的时候,不管怎么配置log4j.properties文件,都会出现部分debug日志输出不了的情况,具体就是自己写的那部分的debug日志不会输出,而如Spring或MyBatis等框架的debug日志就可以输出。

后面根据slf4j的警告日志,说是有多个日志实现,从而不确定具体选哪一个具体日志实现。经过进一步的调试,删除slf4j-simple的依赖后,所有的debug日志都可以如期的输出。

0 0
原创粉丝点击