跳至主要內容

Java 日志发展简史

Jin大约 2 分钟

Java 日志发展简史

1、简史图

Java 日志框架进化史
Java 日志框架进化史
  1. 1999年 ceki 大神开发出了一款经典日志记录框架 log4j,并且将其作为敲门砖捐赠给 apache ,加入 apache 组织。此后几年,log4j 是市面上应用最广泛的日志工具,俨然成了 java 事实上标准,apache 建议 sun 公司采用 log4j 作为 java 日志标准。然而 sun 公司拒绝了这个建议。
  2. 在 2002 年,jdk1.4 推出了 sun 公司自己的日志技术,在 jdk 的 java.util.logging 包下,这就是 JUL 日志的的实现。
    • 同时市面上还一直有其他的日志工具实现。
    • 市面上出现多种日志实现工具,场面十分混乱,因为这些日志系统互相没有关联,替换和统一也变成了比较棘手的一件事。想象下你的应用使用 log4j ,然后使用了一个其他团队的库,他们使用了 JUL ,你的应用就得使用两个日志系统了。
    • 这种情况该如何解决?
    • 抽象出日志接口框架,就是日志门面(facade),对市面上主流日志进行适配,对外提供的工具库直接使用抽象层即可。
  3. 2002 年年底,apache 推出了 JCL (Jakarta Commons Logging),项目在日常使用时,只需要调佣 JCL 的接口就行,具体的日志记录实现细节则由项目集成的日志实现框架来完成(Log4J、JUL)
  4. 2006年,ceki 从 apache 离职创业后他觉得现有的日志门面不够好,不太优雅,在 qos 公司推出了另一个日志门面 slf4j(simple log facade for java),同时推出的还有一款天然实现 slf4j 的 logback (ch.qos.logback),性能比 log4j 更高,功能更强大。
  5. 2012年,apache 又推出了 log4j2,虽然叫 log4j2 ,但是这个和 log4j 没什么关系,是全新开发的。纯粹是 log4j 名声大,借个名而已,用的人也不多。
贡献者: Jin