0
点赞
收藏
分享

微信扫一扫

slf4j日志整合框架的一些问题

概述:

今天遇到一个问题,现在流程的形式,记录一下解法问题的一些过程,

你将收获解决常用包日志系统冲突的解决办法:

Code

由于要使用log4j所以引入以下依赖

1 <!-- https://mvnrepository.com/artifact/org.slf4j/slf4j-api -->
2 <dependency>
3 <groupId>org.slf4j</groupId>
4 <artifactId>slf4j-api</artifactId>
5 <version>1.7.21</version>
6 </dependency>
7 <!-- https://mvnrepository.com/artifact/org.slf4j/slf4j-log4j12 -->
8 <dependency>
9 <groupId>org.slf4j</groupId>
10 <artifactId>slf4j-log4j12</artifactId>
11 <version>1.7.21</version>
12

编写llog4j.properties

1 # Set specific logger levels.
2 log4j.logger.org.mortbay.log=fatal
3 log4j.logger.org.apache.http=fatal
4 log4j.logger.org.apache.http.headers=fatal
5 log4j.logger.org.apache.http.wire=fatal
6 # For HttpClient 3, which is used by FirefoxDriver
7 log4j.logger.httpclient.wire=fatal
8 log4j.logger.org.apache.commons=fatal
9 log4j.logger.com.gargoylesoftware.htmlunit=fatal
10 log4j.logger.com.gargoylesoftware.htmlunit.WebTestCase=fatal
11 # Change this to TRACE when enabling the debugger.
12

运行test程序:

发现无论把日志级别提升到多高,甚至关闭,依然运行出现问题,控制台输出大量日志,奇怪,明明定制了输出规范,怎么还会输出日志呢,

这个时间,我第一想到了就是存在的某个包 引入了日志系统,导致存在多个日志发生冲突,

1 <exclusion>
2 <groupId>ch.qos.logback</groupId>
3 <artifactId>logback-core</artifactId>
4 </exclusion>
5 <exclusion>
6 <groupId>ch.qos.logback</groupId>
7 <artifactId>logback-classic</artifactId>
8

然后继续测试,又出现了下面的异常

slf4j日志整合框架的一些问题_html

读打印的异常,可以看出,出现了反复导致溢出,那么排除它(这里也可以选择调整优先级)

<exclusion>
<groupId>org.slf4j</groupId>
<artifactId>log4j-over-slf4j</artifactId>
</exclusion>

 

 最后:这里说一下,虽然很多包提供了日志管理lib,但是还是希望你能够花时间把这些包全部排除,引入自己的包,还有配置文件,这样你的项目在导出到别人那里使用才不会出现太多问题。

 



举报

相关推荐

0 条评论