参考

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的结合使用也意味着更小的内存与计算开销.

最新文章

  1. 杭电ACM1004
  2. Ubuntu开机自启动
  3. Linux中查看文件编码
  4. 2015安徽省赛 C.LU的困惑
  5. 【HTML5】Web存储
  6. Linux进程空间分布 & 进程控制块 PCB
  7. 套题 Codeforces Round #277 (Div. 2)
  8. Test-NetConnection
  9. phpcms v9联动菜单的调用方法_详解get_linkage函数
  10. 利用Python进行数据分析——pandas入门
  11. Rabbit 集群部署
  12. ASP.NET MVC页面报错System.InvalidOperationException The view found at '~/Views/Home/Index.cshtml' was not created.
  13. 使用git进行版本控制
  14. oracle查询查询出某字段为空后前台不显示的小测试1
  15. .Net Core 在 Linux-Centos上的部署实战教程(三)
  16. 内部排序->插入排序->其它插入排序->折半插入排序
  17. python中的argparse模块(参数解析)
  18. oralce 知识
  19. java C# objective-c AES对称加解密
  20. JVM垃圾回收机制总结

热门文章

  1. video-player
  2. 清除浮动(overflow、clear、:after等方法)
  3. 使用input:file控件在微信内置浏览器上传文件返回未显示选择的文件
  4. 前端学习笔记系列一:4 vue中@click.native
  5. Hive事务原理和Datax同步事务表问题解决
  6. java 垒骰子
  7. Linux系统测试工具
  8. php二位数组排序(按子元素排序)
  9. Go 函数与闭包
  10. leetcode1 twoSum