• java日志框架与日志系统


    日志框架:提供日志调用的接口,实际的日志输出委托给日志系统实现。

    • JCL(Jakarta Commons Logging):比较流行的日志框架,很多框架都依赖JCL,例如Spring等。
    • SLF4j:提供新的API,初衷是配合Logback使用,但同时兼容Log4j。

    日志系统:负责输出日志

    • Log4j:较早的日志系统,可以单独使用,也可配合日志框架JCL使用
    • Logback:Log4j的替代产品,需要配合日志框架SLF4j使用
    • JUL(java.util.logging):JDK提供的日志系统,较混乱,不常用

    日志系统使用方式

    日志框架 日志系统 说明
    -- log4j log4j可单独使用,不推荐
    JCL log4j log4j配合JCL使用
    SLF4j logback logback配合SLF4j使用
    SLF4j (SLF4j-Log4j12) + log4j log4j配合SLF4j使用,但需要使用SLF4j-Log4j12做桥接
    SLF4j + JCL-over-SLF4j logback 使原来使用JCL+log4j的系统能使用logback输出日志
    SLF4j + JCL-over-SLF4j SLF4j-log4j12 + Log4j 比较混乱的用法,框架使用SLF4j,但日志使用Log4j,同时兼容原来的JCL接口。这种使用方式多是由于复杂的包依赖,而每个包中使用了不同日志框架
    SLF4j + JCL-over-SLF4j + log4j-over-slf4j SLF4j-log4j12 + log4j 更奇葩的用法,在上面的基础上还要兼容某些包直接使用log4j的场景

    说明

    • JCL-over-SLF4j是兼容JCL接口并使用SLF4j日志框架的一个兼容框架,依赖SLF4j,但不能与JCL共存
    • SLF4j-Log4j12是为了能使Log4j工作于SLF4j环境而存在的一个兼容框架,与logback同作为日志系统,不能共存
    • log4j-over-slf4j是为了使用SLF4j框架并兼容直接使用log4j的场景
  • 相关阅读:
    第二十二章 6未命名的命名空间 简单
    第二十二章 4使用关键字using 简单
    第二十三模板 3具体化函数模板 简单
    第二十二章 2创建命名空间 简单
    第二十三模板 7复杂类模板 简单
    第二十二章 3使用命名空间 简单
    第二十二章 1什么是命名空间 简单
    第二十三模板 2重载模板 简单
    第二十三模板 1什么是模板 简单
    测定事务引擎设计的基准
  • 原文地址:https://www.cnblogs.com/enjiex/p/3732338.html
Copyright © 2020-2023  润新知