一.序言

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

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

框架的种类:

  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在编译期间通过制定目录查找实现类。

性能:

四.实际应用

Java日志框架介绍的更多相关文章

  1. Java常用日志框架介绍

    Java常用日志框架介绍 java日志概述 对于一个应用程序来说日志记录是必不可少的一部分.线上问题追踪,基于日志的业务逻辑统计分析等都离不日志.java领域存在多种日志框架,目前常用的日志框架包括L ...

  2. Java常用日志框架介绍(转)

    Java常用日志框架介绍 java日志概述 对于一个应用程序来说日志记录是必不可少的一部分.线上问题追踪,基于日志的业务逻辑统计分析等都离不日志.java领域存在多种日志框架,目前常用的日志框架包括L ...

  3. Java程序员最常用的8个Java日志框架

    转自:http://www.codeceo.com/article/8-java-log-framework.html 作为一名Java程序员,我们开发了很多Java应用程序,包括桌面应用.WEB应用 ...

  4. 转:Java程序员最常用的8个Java日志框架

    作为一名Java程序员,我们开发了很多Java应用程序,包括桌面应用.WEB应用以及移动应用.然而日志系统是一个成熟Java应用所必不可少的,在开发和调试阶段,日志可以帮助我们更好更快地定位bug:在 ...

  5. Java日志框架那些事儿

    文章首发于[博客园-陈树义],点击跳转到原文Java日志框架那些事儿. 在项目开发过程中,我们可以通过 debug 查找问题.而在线上环境我们查找问题只能通过打印日志的方式查找问题.因此对于一个项目而 ...

  6. 【SpringBoot】Logback日志框架介绍和SpringBoot整合实战

    ========================11.Logback日志框架介绍和SpringBoot整合实战 2节课================================ 1.新日志框架L ...

  7. java 日志框架

    1.java常用日志框架介绍: https://www.cnblogs.com/chenhongliang/p/5312517.html 2.java各类日志组件汇总: https://blog.cs ...

  8. Java基础学习总结(40)——Java程序员最常用的8个Java日志框架

    作为一名Java程序员,我们开发了很多Java应用程序,包括桌面应用.WEB应用以及移动应用.然而日志系统是一个成熟Java应用所必不可少的,在开发和调试阶段,日志可以帮助我们更好更快地定位bug:在 ...

  9. Java日志框架总结

    1. 前言 从写代码开始,就陆陆续续接触到了许多日志框架,较常用的属于LOG4J,LogBack等.每次自己写项目时,就copy前人的代码或网上的demo.配置log4j.properties或者lo ...

随机推荐

  1. Robot Framework搭建

    需要安装的内容如下: 1. Python2.7.13(听说python3对RF支持的不是很好,所以我下的Python2) 2. wxPython 2.8.12.1(只能这个版本) 3. robotfr ...

  2. E. Swapping Characters 一个喳喳的做法

    http://codeforces.com/contest/903/problem/E 题意是,对于每个字符串都要交换两个位置的字符(id),使得结果所有字符串是一样的,输出那个字符串. 正解是,先比 ...

  3. 性能测试工具LoadRunner18-LR之Controller 集合点

    含义 当通过controller虚拟多个用户执行该脚本时.用户的启动或运行步骤不一定是同步的.集合点是在脚本的某处设置一个标记.当有虚拟用户运行到这个标记时,停下等待,直到所有用户都达到这个标记时,再 ...

  4. One By One扑克牌游戏(C++)

    用我们方言说就是类似“骡子冲”的游戏,游戏双方各拿一定数目的扑克牌,每次每个人打一张牌,排成一列.如果打出的牌有一样的,那么这两张牌(包括这两张牌),全部按顺序拿到打出第二张相同牌的玩家手中,且放在手 ...

  5. 数据库的ACID跟事务隔离级别

    摘抄:http://blog.csdn.net/shuaihj/article/details/14163713 ------------------------------------------- ...

  6. mysql时间戳

    select unix_timestamp('2013-01-01 10:10:10'); , '%Y-%m-%d %H:%i:%S' ) date_format(date,'%Y-%m-%d') - ...

  7. CefSharp High DPI问题的解决

    使用CefSharp控件,在部分高分辨率的电脑中(显示缩放比例非100%,而是120%或者125%等)会出现以下一些情况: 显示的页面中出现了黑边,且按钮定位也偏了,比如点击[图层]按钮,需要点击上面 ...

  8. Deloyment Descriptor Web.xml Analysis

    https://javaee.github.io/tutorial/webapp003.html Web.xml详解分析: 该web.xml文件包含Facelets应用程序所需的几个元素.使用NetB ...

  9. Redis整理第三波(生存时间、事务管理)

    expire  设置生存时间 Redis在实际使用过程中更多的用作缓存,然而缓存的数据一般都是需要设置生存时间的,即到期后数据销毁. TTL查看key的剩余时间,当返回值为-2时,表示键被删除. 当 ...

  10. 织梦dedecms去除友情链接中的li和span

    文件:/include/taglib/flink.lib.php 1.去除友链中的li if(trim($ctag->GetInnerText())=='') $innertext = &quo ...