一.序言

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

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

框架的种类:

  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. Deep Learning 和 Knowledge Graph howto

    领军大家: Geoffrey E. Hinton http://www.cs.toronto.edu/~hinton/ 阅读列表: reading lists and survey papers fo ...

  2. Ancient Messages UVA - 1103

    题目链接:https://vjudge.net/problem/UVA-1103 题目大意:每组数据包含H行W列的字符矩阵(H<=200,W<=50) 每个字符为为16进制  你需要把它转 ...

  3. (转)轻松掌握shell编程中数组的常见用法及示例

    缘起:在老男孩进行linux培训shell编程教学中,发现不少水平不错的网友及同学对数组仍然很迷糊,下面就给大家分享下数组的用法小例子,希望能给大家一点帮助.其实SHELL的数组很简单,好用.我们学习 ...

  4. Kure讲HTML_列表标签及表单标签

    首先我上个图来告诉大家什么是列表 左侧的这一部分就可以称为是列表或者叫树,其实我们可以通过div+css实现列表,可是考虑语义化的问题,我们还是看看html提供好的列表标签,html提供了两种列表,一 ...

  5. Kure讲HTML_div标签和table标签

    为什么要把这两个标签放在一起讲? 个人认为div标签可以算是一个万能标签,它可以通过CSS(层叠样式表)来模仿表格的形式来生成一个表格.那么很多人可能会疑惑那在开发的时候,到底是用div+css的形式 ...

  6. 换晶振导致stm32串口数据飞码的解决办法

    一般来说,stm32f107都是用标配的晶振,比如8MHz. 但是,如果用别的晶振,比如13.56M的晶振,那串口接收还正常吗? 根据试验结果,很可能会飞码.比如说用串口助手发送的是0x35,但是在串 ...

  7. accecc2010入门,语文

    accecc2010入门 数据库:存放数据并处理的仓库. access2010数据库(扩展名为accdb,改名时不能删扩展名): 1,功能区:代替了菜单栏和工具栏的功能,不用四处查找命令.在窗口下的顶 ...

  8. JSP 里 的 basePath

    Eclipse新建JSP页面的时候不会加上 base 这个变量,需要手动添加,经常忘记,MyEclipse 就不用管了会自动添加. 如果忘了下面代码直接copy即可: <% String pat ...

  9. 数据批量删除_从页面js到后台数据库

    LayUI   批量选择的 ,然后操作 batchdel: function () { var checkStatus = table.checkStatus('LAY-gridview') , ch ...

  10. tfs2012安装

    今天正在配置tfs的服务器.要先安装net 3.5 ps1.要选择安装reportingservers 来启动报表功能.