• 彻底搞懂混而不乱的Java日志体系


    1 混而不乱的Java日志体系

    1.1 Java日志发展史

    在这里插入图片描述

    1999年Ceki推出log4j日志框架,并捐给Apache。Ceki也加入Apache组织。据说Apache基金会还曾经建议Sun引入Log4j到Java的标准库中,但Sun拒绝了。
    2002年Java1.4发布,Sun推出了自己的日志库JUL(Java Util Logging),其实现基本模仿了Log4j的实现。在JUL出来以前,Log4j就已经成为一项成熟的技术,使得Log4j在选择上占据了一定的优势;
    2003年Apache推出了JCL(Jakarta Commons Logging)。JCL只是定义了一套日志接口(其内部也提供一个Simple Log的简单实现),支持运行时动态加载日志组件的实现,也就是说,在你应用代码里,只需调用Commons Logging的接口,底层实现可以是Log4j,也可以是Java Util Logging;
    2006年,Ceki离开了Apache,回瑞典创建了QOS公司,然后先后创建了Slf4j(日志门面接口,类似于Commons Logging)和Logback(Slf4j的实现)两个项目;
    2012年,Apache眼看有被Logback反超的势头,于2012-07重写了Log4j 1.x,成立了新的项目Log4j 2,2014年7月其GA版本(正式发布版)发布。

    1.2 JUL

    Sun公司在 jdk1.4版本增加了一个日志包java.util.logging,简称为jul,用以对抗log4j。

    • JUL控制台输出使用System.err 进行日志输出

    在这里插入图片描述

    1.3 log4j

    log4j最后一次更新时间是2012年。apache已不在维护,建议使用log4j2

    2 统一日志输出

    2.1 Slf4j适配器

    在这里插入图片描述

    图片来自官网:http://www.slf4j.org/manual.html

    2.2 Slf4j桥接器

    在这里插入图片描述

    图片来自官网文档:http://www.slf4j.org/legacy.html

      • jcl-over-slf4j.jar

        简化从 JCL 到 SLF4J 的迁移

      • log4j-over-slf4j

        简化从log4j 到 SLF4J 的迁移

      • jul-over-slf4j.jar
        简化从 JUL 到 SLF4J 的迁移

  • 相关阅读:
    网口
    uart
    wwww
    ddr相关的配置经验
    嵌入式的指令集和寄存器
    协议栈
    《贝贝GO》服务条款
    《贝贝GO》隐私政策
    《贝贝GO》技术支持
    《王牌助理》隐私政策
  • 原文地址:https://www.cnblogs.com/aishangJava/p/15512046.html
Copyright © 2020-2023  润新知