log4j和logback的冲突导致日志输出异常

      前一阵在在项目中碰到一个日志问题。工程使用的是log4j,log4j.xml中也配置了工程日志路径和策略,并把日志级别定为warn。但不管是测试环境还是线上环境,都发现除了应用自身的日志,以及指定输出日志,工程中依赖的包输出的日志都打到了tomcat自身的日志文件中,并且debug的日志也一并输出,导致tomcat的日志文件增长非常快,没几天就把服务器空间占满。线上服务器还好,有脚本自动清理,测试环境的服务器直接宕机。

      最初,以为是tomcat配置问题,找到PE检查脚本,发现跟tomcat并无直接关系。无奈只好求助师兄,检查一下午才发现工程中配置的log4j,但粗心混入了logback的jar包。

<!-- 日志 -->
		<dependency>
			<groupId>org.slf4j</groupId>
			<artifactId>slf4j-api</artifactId>
			<version>1.7.2</version>
		</dependency>
		<dependency>
			<groupId>ch.qos.logback</groupId>
			<artifactId>logback-classic</artifactId>
			<version>1.0.9</version>
				<!-- <scope>runtime</scope> ! -->
		</dependency>
		<dependency>
			<groupId>org.slf4j</groupId>
			<artifactId>slf4j-log4j12</artifactId>
			<version>99.0-does-not-exist</version>
		</dependency>



        都知道log4j和logback会冲突,但没想到会以这样的情况出现,去掉logback-classic包,系统日志恢复正常了。

        log4j+sjf4j需要的jar包包括:

              log4j-1.2.xx.jar
             slf4j-api-x.x.x.jar
             slf4j-log4j12-x.x.x.jar

        logback+sjf4j需要的jar包有

             logback-classic-0.9.21.jar
             logback-core-0.9.21.jar
             slf4j-api-1.6.x.jar

        


你可能感兴趣的:(log4j,日志,logback)