Java常用日志框架及实现

Java常用日志框架及实现
作者:雨水,日期:2015-12-16,CSDN博客:  http://blog.csdn.net/gobitan
概述
本文简单介绍了一下Java的日志框架,包括接口库和实现库,并在具体使用选择上给出了一些建议。

日志接口库
common-logging
common-logging为众多具体的日志实现库提供了一个统一的接口。它允许在 运行时绑定到任意的日志库。但由于它使用了ClassLoader寻找和载入底层的日志库,这导致像OSGi这样的框架无法正常工作,由于其不同的插件使用自己的ClassLoader。 OSGi的这种机制保证了插件互相独立,然而确使Apache Common-Logging无法工作。

slf4j
即简单日志门面(Simple Logging Facade for Java),不是具体的日志解决方案,它只服务于各种各样 的日志系统,允许最终用户在 部署其应用时使用其所希望的日志系统。
实际上,SLF4J所提供的核心API是一些接口以及一个LoggerFactory的工厂类。在使用SLF4J的时候,不需要在代码中或配置文件中指定你打算使用那个具体的日志系统。SLF4J提供了统一的记录日志的接口,只要按照其提供的方法记录即可,最终日志的格式、记录级别、输出方式等通过具体日志系统的配置来实现,因此可以在应用中灵活切换日志系统。
详细参考: http://www.slf4j.org/

common-logging与slf4j相比
common-logging在运行时通过动态查找机制自动找出真正使用的日志库,而sflfj则是在部署的时候就确定了所使用的日志库。目前slf4j用得更多一些。

日志实现库
java.util.logging
Java1.4及以上版本中自带的日志库实现。与log4j相比,功能要少一些。

Log4j
Log4j是Apache下的一个功能非常丰富的Java日志库实现。通过使用Log4j,我们可以控制日志信息输送的目的地是控制台、文件、GUI组件、甚至是套接口服务 器、NT的事件记录器、UNIX Syslog守护进程等;用户也可以控制每一条日志的输出格式;它有两个主要版本,1.2和2.x。2.x在1.x基础上做了很多改进,吸收了Logback中的很多优点,而且解决了Logback中存在的一些问题。

Logback
Logback是作为Log4j的替代者出现的,在很多方面相比Log4j更优秀。作者还专门撰文描述为什么要从Log4j迁移到Logback,参见: http://logback.qos.ch/reasonsToSwitch.html
详细参考: http://logback.qos.ch/ 

Log4j与Logback相比
Logback与Log4j1.x相比,在各个方面都要更好,在它们之间选择肯定选Logback。但因为Log4j2.x的重大改进,在Log4j2.x和Logback之间的选择我还没来得及仔细分析和比较,暂时留个疑问,后面分析了再补上。不过对于一般的J2EE应用没有太大的区别。

参考资料:
1.   http://liuzidong.iteye.com/blog/776072   Java日志框架:SLF4J, Apache Common-Logging, Log4J和Logback
2.  http://www.blogjava.net/lhulcn618/articles/16996.html Log4j 对比 java.util.logging
3.   http://www.cnblogs.com/Leo_wl/p/3417215.html  Log4j、Log4j 2、Logback、SFL4J、JUL、JCL的比较
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

gobitan

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值