我是靠谱客的博主 怡然帅哥,最近开发中收集的这篇文章主要介绍log4j、logback和slf4j混合使用趟过的坑,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

背景:之前的一个项目采用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屏蔽掉,采用的方法
这里写图片描述

经过测试,完美搞定

最后

以上就是怡然帅哥为你收集整理的log4j、logback和slf4j混合使用趟过的坑的全部内容,希望文章能够帮你解决log4j、logback和slf4j混合使用趟过的坑所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(44)

评论列表共有 0 条评论

立即
投稿
返回
顶部