`
septem
  • 浏览: 53468 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

java日志框架

    博客分类:
  • java
阅读更多
最近在应用中第一次接触到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提供的参数化日志接口代码量更小,更清晰

对于老项目,如果不需要整合不同的日志实现,保留原来的框架就好,没必要为了日志功能而大作修改
1
1
分享到:
评论

相关推荐

    JAVA日志框架适配-冲突解决方案.docx

    JAVA日志框架适配-冲突解决方案.docx

    Java日志框架整合详情

    Java日志框架整合详情

    Java日志框架详解.ppt

    Java日志框架详解.ppt

    浅谈Java日志框架slf4j作用及其实现原理

    日志记录是应用程序运行中必不可少的一部分。这篇文章主要介绍了浅谈Java日志框架slf4j作用及其实现原理,SLF4J是一个日志框架抽象层,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

    java的Logback日志框架jar包

    适用于java中的Logback日志框架

    java日志框架视频教程

    常用日志框架章节二:JUL1. 快速入门2. 日志级别3. Logger直接父子关系4. 配置文件5. 原理解析章节三:Log4j1. 快速入门2. Log4j组件解析3. Layout格式4. Appender输出5. 自定义Logger章节四:JCL1. 快速入门2. ...

    java日志框架-sl4f

    自己学习之用

    【Java 小型简单日志框架】

    一个简单的日志框架,很早写的,五一闲了两天,修一修注释一下拿出来共享。。。。。。 注意: 该日志框架五脏不全。。。。。 改进意见: 1.可以在配置文件中添加日志输出格式,然后在代码中读取该格式用以控制输出...

    minlog:小型的java日志框架

    <groupId>com.esotericsoftware</groupId> <artifactId>minlog <version>1.3.0 <packaging>bundle</packaging>

    logback (Java 日志框架) v1.1.8

    logback (Java 日志框架)简介Logback是由log4j创始人设计的又一个开源日志组件。logback当前分成三个模块:logback-core,logback- classic和logback-access。logback-core是其它两个模块的基础模块。logback-...

    java日志框架探秘

    目前市面上已经存在的日志框架有log4j,log4j2,logback,java.util.logging。然而,现在主流的这几个日志框架基本都是基于实现类编程,而非接口编程,暴露了一些无关紧要的信息给用户,这种耦合没有必要,还有当应用...

    采用jdk实现的日志框架

    日志框架. 实现了动态的切换和log4j类似功能. 采用jdk1.4 log为底层实现. 下载后可以自己定制相关功能. 可以进一步完善.有兴趣可以加QQ:934547801一起讨论

    Java日志框架之logback使用详解

    主要介绍了Java日志框架之logback使用详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

    logging-framework-final:用于软件架构项目的 Java 日志框架,作者 Nicolas ANDRE

    用于软件架构项目的 Java 日志框架,作者为 Nicolas ANDRE 先生。 文档 链接到我们项目的 JavaDoc: 安装说明 下载文件 将它添加到您的 java 项目(例如在“lib”文件夹中) 然后将其添加到您项目的 BuildPath 中 ...

    一种Java日志系统框架的设计与实现(

    一种Java日志系统框架的设计与实现( 一种Java日志系统框架的设计与实现( 一种Java日志系统框架的设计与实现( 一种Java日志系统框架的设计与实现

    Java日志框架

    眼下java应用日志收集都是採用日志框架(slf4j、apache commonslogging)+日志系统(log4j、log4j2、LogBack、JUL等)的方式。日志框架:提供日志调用的接口,实际的日志输出托付给日志系统实现。JCL...

Global site tag (gtag.js) - Google Analytics