最近在应用中第一次接触到JUL(java.util.logging),顺便对自己使用过的日志框架做个简单的总结
Java里的日志框架很多,
open-open上面就记载了一大堆,比较常用的有Log4j, Jakarta Commons Logging (JCL), JUL, SLF4J, Logback等,主要可以分为两大类
一、完整的日志实现,比如Log4j, JUL, Logback
Log4j: JAVA里面出现最早,1999年由Ceki Glc创建。Log4j凭借强大的功能,简单的配置,丰富齐全的appender,灵活的自定义layout,成为使用最为广泛的日志框架。虽然面临Logback这样新兴框架的竞争,但在将来很长一段时间内,Log4j始终会是JAVA日志框架的主流
JUL: JDK1.4引进的日志系统。使用下来感觉是在Log4j基础上再造的轮子,对Log4j使用的名词概念做了一些重命名,但在功能与易用性上都比不上Log4j。对于简单的日志纪录还可以用用,至少不用导入第三方JAR包
Logback: JAVA日志框架的后起之秀,同样出自Log4j作者Ceki Glc之手,解决了很多Log4j遗留的问题,比起Log4j有更好的性能,支持自动重新装载配置文件等优点。很多开源项目有转向Logback的趋势,像Tapestry, Hibernate, Spring都已经采用logback,但想达到完全取代Log4j的目标,还需要很长一段时间
二、日志接口,比如JCL, SLF4J。只提供一个简单的日志操作接口,允许开发人员通过配置文件,使用不同的日志实现框架
JCL: Apache出品的日志接口,用于屏蔽Log4j与JUL的实现差异,JCL+Log4j是目前最主流的搭配
SLF4J: 同样是Log4j的作者Ceki Glc创建,用来取代JCL。Simple Logging Facade for Java,从它的名字就可以看出它只承担Facade的角色,允许开发以使用统一的日志接口,整合不同的日志实现。做为一个新兴的框架,它几乎对Log4j, JUL, Logback所有的实现框架都提供了支持。SLF4J支持参数化的log,比如在JCL里面,出于性能考虑,日志代码常常是这样的
logger.isDebugEnabled(){
logger.debug("user id : " + userId);
}
在SLF4J里面可以直接写
logger.debug("user id : {}", userId);
这么多框架该如何选择?
我觉得对于新的项目,完全可以考虑采用SLF4J+Logback, 它们跟Log4j都是由同一作者创建,概念上很相似,转移成本很小。SLF4J提供的参数化日志接口代码量更小,更清晰
对于老项目,如果不需要整合不同的日志实现,保留原来的框架就好,没必要为了日志功能而大作修改
分享到:
相关推荐
JAVA日志框架适配-冲突解决方案.docx
Java日志框架整合详情
Java日志框架详解.ppt
日志记录是应用程序运行中必不可少的一部分。这篇文章主要介绍了浅谈Java日志框架slf4j作用及其实现原理,SLF4J是一个日志框架抽象层,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
适用于java中的Logback日志框架
常用日志框架章节二:JUL1. 快速入门2. 日志级别3. Logger直接父子关系4. 配置文件5. 原理解析章节三:Log4j1. 快速入门2. Log4j组件解析3. Layout格式4. Appender输出5. 自定义Logger章节四:JCL1. 快速入门2. ...
自己学习之用
一个简单的日志框架,很早写的,五一闲了两天,修一修注释一下拿出来共享。。。。。。 注意: 该日志框架五脏不全。。。。。 改进意见: 1.可以在配置文件中添加日志输出格式,然后在代码中读取该格式用以控制输出...
<groupId>com.esotericsoftware</groupId> <artifactId>minlog <version>1.3.0 <packaging>bundle</packaging>
logback (Java 日志框架)简介Logback是由log4j创始人设计的又一个开源日志组件。logback当前分成三个模块:logback-core,logback- classic和logback-access。logback-core是其它两个模块的基础模块。logback-...
目前市面上已经存在的日志框架有log4j,log4j2,logback,java.util.logging。然而,现在主流的这几个日志框架基本都是基于实现类编程,而非接口编程,暴露了一些无关紧要的信息给用户,这种耦合没有必要,还有当应用...
日志框架. 实现了动态的切换和log4j类似功能. 采用jdk1.4 log为底层实现. 下载后可以自己定制相关功能. 可以进一步完善.有兴趣可以加QQ:934547801一起讨论
主要介绍了Java日志框架之logback使用详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
用于软件架构项目的 Java 日志框架,作者为 Nicolas ANDRE 先生。 文档 链接到我们项目的 JavaDoc: 安装说明 下载文件 将它添加到您的 java 项目(例如在“lib”文件夹中) 然后将其添加到您项目的 BuildPath 中 ...
一种Java日志系统框架的设计与实现( 一种Java日志系统框架的设计与实现( 一种Java日志系统框架的设计与实现( 一种Java日志系统框架的设计与实现
眼下java应用日志收集都是採用日志框架(slf4j、apache commonslogging)+日志系统(log4j、log4j2、LogBack、JUL等)的方式。日志框架:提供日志调用的接口,实际的日志输出托付给日志系统实现。JCL...