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

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

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

<!-- 日志 -->
		<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包有 debug

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

相关文章
相关标签/搜索