Log4J和slf4j的debug日志问题
2016-07-12 21:58
381 查看
很多人知道,在使用slf4j的过程中通常会引入两个jar包,大概如下:
当使用最终的日志实现,如Log4j时,又会引入log4j相关的jar包,如下:
这样就可以在Java应用程序(Java Web服务和Java程序)中,输出由slf4j编写的日志。
但在使用过程中发现,在执行测试用例(加载Spring或未加载Spring)的时候,不管怎么配置log4j.properties文件,都会出现部分debug日志输出不了的情况,具体就是自己写的那部分的debug日志不会输出,而如Spring或MyBatis等框架的debug日志就可以输出。
后面根据slf4j的警告日志,说是有多个日志实现,从而不确定具体选哪一个具体日志实现。经过进一步的调试,删除slf4j-simple的依赖后,所有的debug日志都可以如期的输出。
<!-- 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日志都可以如期的输出。
相关文章推荐
- Apache Log4j 2.0-rc1 发布
- log4j详细的常用配置说明介绍
- Log4j定时打印日志及添加模块名配置的Java代码实例
- log4j的使用详细解析
- weblogic部署war包,log4j问题
- log4j.xml 配置不同的log到不同的文件
- Log4J输出至当前web路径
- Spring3 AOP配置异常。执行时间记录
- log4j + flume 1.6 集成
- LogBack入门实践
- log4j.properties配置与加载应用
- jfinal-slf4j 让jfinal使用slf4j的log api
- 一个配置比较全的log4j.xml文件(一)
- Logstash 与Elasticsearch整合使用示例
- 最详细的Log4j使用教程
- Spring+Log4j+ActiveMQ实现远程记录日志——实战+分析
- Kafka+Log4j实现日志集中管理
- ELK(ElasticSearch, Logstash, Kibana)搭建实时日志分析平台
- apache flume 配置存储在Linux本地服务器
- SpringAOP实现自动生成日志