log4j配置失效日志中打印Debug信息

最近发布项目的时候发现控制台打印的日志较往常多了很多,仔细一看,debug和info信息也赫然在列,打开log4j.xml配置文件看一下:

<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">
<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/" debug="false">
	<appender name="CONSOLE" class="org.apache.log4j.ConsoleAppender">
		<layout class="org.apache.log4j.PatternLayout">
			<param name="ConversionPattern" value="[%d{dd/MM/yy hh:mm:ss:sss z}] %t %5p %c{2}: %m%n" />
		</layout>
		<filter class="org.apache.log4j.varia.LevelRangeFilter">  
		    <param name="LevelMax" value="ERROR" />
		    <param name="LevelMin" value="INFO" />  
		</filter>
	</appender>
    
	<appender name="catAppender" class="com.dianping.cat.log4j.CatAppender">
        <param name="Threshold" value="ERROR"></param>
    </appender>
	<root> 
		<priority value="error" />
		<!-- 日志输出最低级别  -->
		<appender-ref ref="CONSOLE" />
		<appender-ref ref="catAppender" /> 
	</root> 
</log4j:configuration>

配置的是error级别,显然不应该出现debug信息的,一定是配置文件没起作用,什么原因呢?

查资料找到一种解释:Log4j和logback冲突了,这样会导致Log4j的日志级别降低到DEBUG级别。

项目用的是log4j,没用到logback,难道是依赖隐式地加入了logback?打开依赖看下,还真的有logback:


知道了原因,就在maven依赖中把logback去掉。

去除依赖的方法:

1. 调到引入logback的依赖处,如图,右键->Jump To Source


2. 排掉logback依赖


<dependency>
<groupId>com.weimob.saas.foundation</groupId>
<artifactId>wxbase-core-service-client</artifactId>
<version>1.3.2-SNAPSHOT</version>
<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>
重新发布服务,日志打印正常了。

猜你喜欢

转载自blog.csdn.net/u014266077/article/details/80747858