• Java日志框架介绍


    一.序言

      日志为系统的必不可少的一部分,通过输出的日志我们可以排查线上出现的各种问题,就像断案的线索一样。我们还可以通过日志数据分析用户的行为习惯做大数据分析。

    二.日志框架分类及其历史

    框架的种类:

    1. JUL:JDK默认自带日志工具。
    2. Log4J1:apache软件基金会开源项目,是由xxxx开发。
    3. Log4J2:Log4J1的升级产品,但不与log4J兼容。
    4. LogBack:是从Apache跳槽后的自己另行开发的一套日志框架。
    5. Commons Logging:之前叫做kafata Comons Logging,后改名为Conmmons Logging  apache软件基金会项目。
    6. SLF4J:Simple Log Facede For Java,抽象了一套日志访问接口,没有具体实现,xxxx是从Apache跳槽后的自己另行开发的一套日志门面框架.

    框架历史:

    •   20世纪90年代,欧洲安全电子商务系统,开发一套最终程序的API,随之不断的发展,成为咱们熟悉的Log4J。
    •   由于其发展迅速,Log4J一度成为日志的标杆,Apache建议Sun成Java日志标准,但被Sun拒绝了。
    •   JDK1.4的时候,官方开发一款日志工具即Java Util Loggin,其实现模仿Log4J
    •   Apache软件基金会开发 Kata Commons Logging,一款门面框架,其实现可以是JUL也可也是Log4J.
    •   xxxx离开Apache后,创建了自己的公司,开发了SLF4J与LogBack,同样SLF4J也是一款门面看框架日志,LogBack则是它的实现。
    •   由于LogBack性能各方面优于Log4j1,因此Apache重新构建Log4J2,使Log4J拥有LogBack所有的特性,但Log4J1不兼容Log4J2

    框架之间关系:

    • SLF与Commons Logging是一种门面的设计模式,提供了日志层面的抽象接口而具体的实现可以是Log4J或LogBack.
    • 最近搭档:

           Commongs Logging+Log4j

           SLF+LogBack

    三.Commons Logging与SLF区别

    实现机制:

    • Commons Logging利用java 动态加载机制查找实现类,在OSGI插件中通用性不好。
    • SLF在编译期间通过制定目录查找实现类。

    性能:

    四.实际应用

  • 相关阅读:
    Leetcode 611.有效三角形的个数
    Leetcode 606.根据二叉树创建字符串
    Leetcode 605.种花问题
    潘潘_策略投资:期货存在跨期套利和跨品种套利的机会
    雷公资本:我的交易系统02 --- 可预知的趋势
    西子凌波47:回答问题 2016-10-28
    西子凌波43:说几句 2016-03-07
    西子凌波39:当下状态2 (2015-11-07 22:33:22)
    西子凌波36:放假了。说一些题外话。 2015-09-04
    西子凌波35:简单的走势,还有不明白的吗? 2015-08-21
  • 原文地址:https://www.cnblogs.com/springmonkey/p/9805877.html
Copyright © 2020-2023  润新知