参考

https://www.cnblogs.com/hanszhao/p/9754419.html

https://www.cnblogs.com/chenhongliang/p/5312517.html

Java常用日志框架

现今,Java日志领域被划分为两大阵营:

  • Commons Logging阵营
  • Slf4j阵营

Commons Logging在Apache大树的笼罩下,有很大的用户基数。

但有证据表明,形式正在发生变化。

2013年底有人分析了GitHub上30000个项目,统计出了最流行的100个Libraries,可以看出Slf4j的发展趋势更好.

Log4j

1996年早期,欧洲安全电子市场项目组决定编写它自己的程序跟踪API(Tracing API)。经过不断的完善,这个API终于成为一个十分受欢迎的日志软件包,即Log4j。后来Log4j成为Apache基金会项目中的一员。

Apache Log4j是一个基于Java的日志记录工具。它是由Ceki Gülcü首创的.

当时Log4j近乎成了Java社区的日志标准。据说Apache基金会还曾经建议Sun引入Log4j到java的标准库中,但Sun拒绝了。

Jul

2002年Java1.4发布,Sun推出了自己的日志库JUL(Java Util Logging),其实现基本模仿了Log4j的实现

在JUL出来以前,Log4j就已经成为一项成熟的技术,使得Log4j在选择上占据了一定的优势。

Jakarta Commons Logging

Apache推出的Jakarta Commons Logging(JCL)只是定义了一套日志接口(其内部也提供一个Simple Log的简单实现),支持运行时动态加载日志组件的实现.

也就是说,在你应用代码里,只需调用Jakarta Commons Logging的接口,底层实现可以是Log4j,也可以是Java Util Logging。

Commons Logging

Apache基金会所属的项目,是一套Java日志接口,之前叫Jakarta Commons Logging,后更名为Commons Logging。

Log4j 2

Apache Log4j 2是apache开发的一款Log4j的升级产品

Apache眼看有被Logback反超的势头,于2012-07重写了Log4j 1.x,成立了新的项目Log4j 2, Log4j 2具有Logback的所有特性。

Slf4j

2006年,Ceki Gülcü不适应Apache的工作方式,离开了Apache。

然后先后创建了

  • slf4j(Simple Logging Facade for Java)

    日志门面接口,类似于Commons Logging,本身并无日志的实现.
  • Logback
    slf4j的实现

Logback

一套日志组件的实现(Slf4j阵营)。

SLF4J接入

slf4j与其他日志组件的桥接说明

  • slf4j-log4j12

    log4j桥接器.由于log4j没有实现slf4j接口,所以slf4j想要使用log4j需要引入slf4j-log4j12
  • slf4j-jdk14
    java.util.logging的桥接器.如果要使用JDK原生的日志框架,需要引用slf4j-jdk14,因为jdk logging同样没有实现slf4j接口.
  • slf4j-nop
    NOP桥接器.默默丢弃一切日志.
  • slf4j-simple
    一个简单实现的桥接器.该实现输出所有事件到System.err.只有Info以及高于该级别的消息被打印,在小型应用中它也许是有用的.
  • slf4j-jcl
    Jakarta Commons Logging的桥接器.这个桥接器将Slf4j所有日志委派给JCL.
  • logback-classic
    slf4j的原生实现,Logback直接实现了slf4j接口,因此使用slf4j与Logback的结合使用也意味着更小的内存与计算开销.

JavaSE--日志的更多相关文章

  1. 用大白话聊聊JavaSE -- 如何理解Java Bean(一)

    首先,在开始本章之前,先说一个总的概念:所谓的Java Bean,就是一个java类,编译后成为了一个后缀名是 .class的文件.这就是Java Bean,很多初学者,包括当年的我自己,总是被这些专 ...

  2. Kibana+Logstash+Elasticsearch 日志查询系统

    搭建该平台的目的就是为了运维.研发很方便的进行日志的查询.Kibana一个免费的web壳:Logstash集成各种收集日志插件,还是一个比较优秀的正则切割日志工具:Elasticsearch一个开源的 ...

  3. 01Spring_基本jia包的导入andSpring的整体架构and怎么加入日志功能

    1.什么是Spring : v\:* {behavior:url(#default#VML);} o\:* {behavior:url(#default#VML);} w\:* {behavior:u ...

  4. 用Kibana和logstash快速搭建实时日志查询、收集与分析系统

    Logstash是一个完全开源的工具,他可以对你的日志进行收集.分析,并将其存储供以后使用(如,搜索),您可以使用它.说到搜索,logstash带有一个web界面,搜索和展示所有日志. kibana ...

  5. 使用ELK(Elasticsearch + Logstash + Kibana) 搭建日志集中分析平台实践--转载

    原文地址:https://wsgzao.github.io/post/elk/ 另外可以参考:https://www.digitalocean.com/community/tutorials/how- ...

  6. 本地日志数据实时接入到hadoop集群的数据接入方案

    1. 概述 本手册主要介绍了,一个将传统数据接入到Hadoop集群的数据接入方案和实施方法.供数据接入和集群运维人员参考. 1.1.  整体方案 Flume作为日志收集工具,监控一个文件目录或者一个文 ...

  7. 【阿里云产品公测】简单日志服务SLS使用评测 + 教程

    [阿里云产品公测]简单日志服务SLS使用评测 + 教程 评测介绍 被测产品: 简单日志服务SLS 评测环境: 阿里云基础ECS x2(1核, 512M, 1M) 操作系统: CentOS 6.5 x6 ...

  8. AMQ学习笔记 - 15. 实践方案:基于ActiveMQ的统一日志服务

    概述 以ActiveMQ + Log4j + Spring的技术组合,实现基于消息队列的统一日志服务. 参考:Spring+Log4j+ActiveMQ实现远程记录日志——实战+分析 与参考文章的比较 ...

  9. 基于ActiveMQ的统一日志服务

    概述 以ActiveMQ + Log4j + Spring的技术组合,实现基于消息队列的统一日志服务. 参考:Spring+Log4j+ActiveMQ实现远程记录日志——实战+分析 与参考文章的比较 ...

  10. graylog2+syslog-ng+mongodb构建集中管理日志服务器 --转载

    原文地址:http://blog.chinaunix.net/uid-11065483-id-3654882.html 由于公司内需要监控QQ的上下线记录,原本使用了分光+Panabit+Splunk ...

随机推荐

  1. PHP实现微信网页登陆授权开发

    这篇文章主要介绍了关于PHP实现微信网页登陆授权开发,有着一定的参考价值,现在分享给大家,有需要的朋友可以参考一下 更多PHP相关知识请关注我的专栏PHP​zhuanlan.zhihu.com 微信开 ...

  2. 了解AOP以及实现方式

    AOP是什么? 面向切面编程,把那些与业务无关,却为业务模块所共同调用的逻辑封装成一个可重的模块,即切面 使用"横切"技术,AOP把软件系统分为两个部分:核心关注点和横切关注点.业 ...

  3. jmeter里面Dug Sampler 和json提取器的用法

    1.编写用户详情请求 2.查看结果树 一级一级往上查找父集 3.添加json提取器 步骤:点击[用户详情]请求->添加->后置处理器->json提取器 把查看结果树里面的JSON P ...

  4. dwr??

    官方网站:http://directwebremoting.org/dwr/index.html http://m.blog.csdn.net/u013628152/article/details/5 ...

  5. Java的equals方法的使用技巧

    Java的equals方法的使用技巧 1.业务场景: 在某个社交软件中,要求每个用户的用户名(name)必须独一无二,那么在每次增加新用户的时候,都要对该用户的注册名进行判断,如果当前用户名已经被占用 ...

  6. 从零开始学C++(2 字符串、向量和数组)

    可以说string和vector是C++标准库中最重要的两种类型,string支持可变长字符串,而vector表示可变长的集合. string 头文件:<string> 定义在命名空间 s ...

  7. Spring AOP 管理事务

    <aop:config proxy-target-class="true"> <aop:pointcut expression="execution(* ...

  8. 微信小程序学习开发笔记

    首先注册小程序开账号,下载开发工具之后,先啃官方文档:https://developers.weixin.qq.com/miniprogram/dev/framework/ ,把小程序的基本的代码框架 ...

  9. STL——翻转字符串

    #include<bits/stdc++.h> using namespace std; int main() { string a = "abc"; string a ...

  10. Job for nginx.service failed because the control process exited with error code. See “systemctl stat

    启动nginx服务时如果遇到这个错误 Job for nginx.service failed because the control process exited with error code. ...