前一阵在在项目中碰到一个日志问题。工程使用的是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+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 日志