log4j、logback和slf4j混合使用趟过的坑
背景:之前的一个项目采用log4j和slf4j做日志输出,后来引入了dubbo+zookeeper。新的项目采用logback和slf4j。老的项目需要使用maven引用新项目生成jar发现的问题:做好一切准备后,发现控制台日志不停的刷,几分钟可以刷200M+,主要来自org.apache.zookeeper.ClientCnxn的debug日志。
·
背景:之前的一个项目采用log4j和slf4j做日志输出,后来引入了dubbo+zookeeper。新的项目采用logback和slf4j。老的项目需要使用maven引用新项目生成jar
发现的问题:做好一切准备后,发现控制台日志不停的刷,几分钟可以刷200M+,主要来自org.apache.zookeeper.ClientCnxn的debug日志。
解决思路:
1、调整log4j.properties中配置
结果不起作用
2、查看输出出来的日志格式,发现和log4j定义的格式并不一致
3、查看ClientCnxn源码,发现:
private static final Logger LOG = LoggerFactory.getLogger(ClientCnxn.class);
说明LOG是采用slf4j定义生成的。
结合2、3所以怀疑是不是引入了logback相关的jar
4、查看pom.xml,发现项目中确实引入了logback相关的jar
所以猜测ClientCnxn中的日志输出会使用logback默认输出,而不是通过log4j.所以果断把logback给排除掉。
5、尝试把logback相关的jar屏蔽掉,采用的方法
经过测试,完美搞定
更多推荐
已为社区贡献1条内容
所有评论(0)