欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 编程资源 > 编程问答 >内容正文

编程问答

日志无法打印问题总结

发布时间:2024/1/1 编程问答 66 豆豆
生活随笔 收集整理的这篇文章主要介绍了 日志无法打印问题总结 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

日志无法打印问题总结

现象: log4j2运行环境可以生成日志,但是没有任何打印信息。

1 日志无法打印

最近新开发的服务,k8s容器部署后,发现log4j2的日志无法打印,定义的日志都生成了相关的日志文件,但是没有打印任何内容。恍惚记得idea启动的时候有一些黄色的提示,但是当时日志正常打印了就没有理睬,看来还是和当初自己忽视的问题有关系,赶紧打开idea,启动查看重新审视了相关报错,如下所示:

SLF4J: Class path contains multiple SLF4J bindings.

原来是slf4j相关的包在多个jar中存在,这里主要是zookeeper的一个依赖,有同样的jar依赖,原来是spring常见的jar‘冲突问题,这里解决方法总结如第二章所示。

2 日志包重复问题处理-排除jar包

gradle修改如下所示

compile('org.apache.zookeeper:zookeeper:3.4.8') {exclude group: 'org.slf4j', module: 'slf4j-log4j12' //by both name and group}

maven修改如下所示:

<dependency><groupId>org.apache.zookeeper</groupId><artifactId>zookeeper</artifactId><version>3.4.8</version><!--排除这个slf4j-log4j12--><exclusions><exclusion><groupId>org.slf4j</groupId><artifactId>slf4j-log4j12</artifactId></exclusion></exclusions></dependency>

spring整体排除依赖

configurations {all {exclude group: 'org.springframework.boot', module: 'spring-boot-starter-logging'} }

3 问题反思

  • 重视墨菲定律:不要放过开发过程中遇到的任何警告和提示,也许本地运行不是错误,可能实际跑起来就会容易出问题。墨菲定律说的就是坏事情总会发生,不要忽视他的存在,作为开发更应该重视任何潜在的问题。
  • 学习maven和gradle排除依赖的一些简单实践,作为记录留存。
  • 总结

    以上是生活随笔为你收集整理的日志无法打印问题总结的全部内容,希望文章能够帮你解决所遇到的问题。

    如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。