前一阵在在项目中碰到一个日志问题。工程使用的是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
时间: 2024-11-05 18:25:19