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

日志组件使用总结

作者: 翼徳 | 来源:发表于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