今天项目中引入了外省的专题,发现后台日志猛刷,查看log4j.properties配置文件发现,个别配置的ERROR级别的DEBUG日志竟然也输出了,后找到原因是项目父类POM依赖了logback相关jar,由于logback与log4j有冲突,导致日志级别不可用。
由于改不了父类的pom,所以就在自己项目的web的pom.xml中去除logback的相关依赖,重启服务,日志打印正常。
<dependency>
<groupId>自己项目的groupId</groupId>
<artifactId>自己项目的artifactId</artifactId>
<version>${inas.version}</version>
<type>jar</type>
<exclusions>
<exclusion>
<groupId>ch.qos.logback</groupId>
<artifactId>logback-classic</artifactId>
</exclusion>
<exclusion>
<groupId>ch.qos.logback</groupId>
<artifactId>logback-core</artifactId>
</exclusion>
</exclusions>
</dependency>
日志jar相关搭配:
log4j+slf4j:
log4j-1.2.xx.jar;slf4j-api-x.x.x.jar;slf4j-log4j12-x.x.x.jar
logback+slf4j:
logback-classic-x.x.x.jar; logback-core-x.x.x.jar;slf4j-api-x.x.x.jar
此外在找原因的过程中,发现一篇对slf4j log4j logback三者关系详解的博文,与大家分享:
http://www.cnblogs.com/Sinte-Beuve/p/5758971.html