美文网首页
日志组件使用总结

日志组件使用总结

作者: 翼徳 | 来源:发表于2018-08-09 11:57 被阅读21次

概述

由于Java日志功能发布较晚,开源社区的日志组件发展日趋成熟,导致应用系统中日志组件依赖比较混乱。

常见 log 组件

组件名称 分类 备注
SLF4J 接口 slf4j-api.jar
Commons-logging (jcl) 接口 commons-logging.jar / jcl-over-slf4j.jar
Log4j2 接口 + 实现 log4j-api.jar, log4j-core.jar, log4j-slf4j-impl.jar, log4j-to-slf4j-2.x.jar
Log4j 实现 log4j.jar / log4j-over-slf4j.jar
Logback 实现 logback-classic.jar, logback-core.jar
java.util.logging (jul) 实现 jul-to-slf4j.jar / JDK 1.4+

总结:

  • xxx-over-slf4j.jar 表示采用适配器模式(Adapter Pattern)实现调用转发;
  • xxx-to-slf4j.jar 表示采用桥模式(Bridge Pattern)实现调用转发;

常见模式

SLF4J 推荐的模式

模式总结:日志API => slf4j-api => 原生实现 | (适配器 + 非原生实现)

image.png

Log4j2 推荐的模式

模式总结:日志API (适配器) => log4j-api-2.x => 原生实现

image.png

模式总结

个人推荐采用slf4j的模式,更利于项目的长期维护(如果log4j再次升级,比如log4j3,几乎需要升级全部组件,升级阻力较大),如下图:


日志组件使用总结.png

相关文章

网友评论

      本文标题:日志组件使用总结

      本文链接:https://www.haomeiwen.com/subject/iopqbftx.html