Log4j配置失效导致spring等框架一直打印DEBUG级别的日志
2016-11-23 09:19
806 查看
在应用中使用了SpringMVC+hibernate+Log4j+SLF4J。Log4j的日志级别调到INFO。但是在web容器(Tomcat)在启动和运行的时候spring,Hibernate等框架中DEBUG级别的日志不断狂刷,导致日志文件剧增,磁盘没几天就爆了。
针对这个问题在网上找了好多方法,都是没有效果或者治标不治本的。一直以为自己的Log4j配置文件写的有问题。后来在自己新搭建的project中发现Log4j的配置是正确的。只打印出INFO及以上级别的日志信息。后来才知道,是因为自己的应用依赖的jar隐式依赖了logback日志框架。
Log4j和logback是有冲突的,这样会导致Log4j的日志级别降低到DEBUG级别。知道了原因,就在maven依赖中把logback的隐式依赖给去掉。然后启动tomcat,发现日志可以正常打印。去除依赖的方法:
<dependency>
<groupId>com.hoteam.df</groupId>
<artifactId>util-tools</artifactId>
<version>3.1.8</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>
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配置文件写的有问题。后来在自己新搭建的project中发现Log4j的配置是正确的。只打印出INFO及以上级别的日志信息。后来才知道,是因为自己的应用依赖的jar隐式依赖了logback日志框架。
Log4j和logback是有冲突的,这样会导致Log4j的日志级别降低到DEBUG级别。知道了原因,就在maven依赖中把logback的隐式依赖给去掉。然后启动tomcat,发现日志可以正常打印。去除依赖的方法:
<dependency>
<groupId>com.hoteam.df</groupId>
<artifactId>util-tools</artifactId>
<version>3.1.8</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>
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配置失效导致spring等框架一直打印DEBUG级别的日志
- Log4j和logback冲突,导致log4j配置失效控制台一直打印DEBUG级别的日志
- 如何通过配置log4j.xml来打印指定类或指定级别的日志信息
- 如何通过配置log4j.xml来打印指定类或指定级别的日志信息
- Log4j 配置不好可能导致你的日志重复打印
- 解决web项目存在多个log4j.properties配置文件,导致日志级别配置不生效问题
- log4j配置文件使其能够打印4个级别的日志到不同的文件中
- 怎么配置log4j.properties才能将同一包中的error和debug级别的日志分别记到两个文件中去?
- spring struts2 ibatis 配置log4j不打印sql语句
- log4j日志级别的选择:Debug、Info、Warn、Error还是Fatal
- 打印ibatis的SQL日志-通过log4j配置
- ibatis打印sql日志的方法,在log4j.xml中加入如下配置即可
- Log4j按级别输出日志到不同文件配置分析
- Spring MVC框架配置log4j输出日志到文件
- c#扩展SPRING,配置里有不存在的业务系统xml导致不能启动问题,把配置文件里有重复的服务ID找出来并写入到日志
- Spring 与 Log4J 进行动态日志配置切换
- tomcat日志配置之四Spring中配置Log4j
- log4j 日志打印 配置
- Log4j按级别输出日志到不同文件配置分析
- log4j各项配置都正确,却不能在控制台打印日志