JAVA日志丢失终极剖析

本文详述了JAVA环境中日志丢失的问题,分析了多种日志组件如commons-logging、log4j、slf4j和logback的加载顺序与相互关系。问题在于系统中同时存在多种日志实现,导致日志方案冲突。解决方案包括删除冲突的jar包,确保日志配置的一致性。
摘要由CSDN通过智能技术生成

TOP生产环境最近频频发生日志丢失事件,上了三拨人去解决,过了一段时间又出现了,太诡异了!具体现象如下:

1. 有一半的机器日志正常生成,而另一半的机器几乎没有生成日志。

2. 在日志丢失的机器上,所有普通logger配置的日志文件都没有生成,而root logger配置的日志文件却生成了,并且root logger只记录了搜索引擎的日志,其它日志信息一个都没有。

同样的机器,同样的代码,同样的环境,为什么会出现这种问题呢?

要想弄清楚原因,我们还得先来了解JAVA开源世界里的各种日志组件。

 

一、日志介绍

1. commons-logging : Apache最早提供的日志门面接口,主要是为了避免程序的代码和具体的实现相耦合。类似于JDBC的API接口,具体的JDBC Driver是由各个数据库提供商来实现的。通过统一接口解耦,不过其内部也实现了一些简单的日志方案。

2. log4j : 应用最广泛的一种日志解决方案,主要由Appender, Logger, Pattern, Category等组成,通过log4j.xml或log4j.properties配置文件来实现日志系统的管理和多样化配置。可单独做为日志方案来使 用,也可以配合commons-logging接口来使用,以达到解耦。

3. slf4j : Simple Logger Facade for JAVA,是继commons-logging后的又一日志门面接口。与commons-logging的配置加载实现不同,slf4j是通过类加载来感 知实现的。slf4j还有一个比较好的特性是&#x

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值