日志模块作为一个系统的重要组成部分,似乎其重要性并没有在开发人员的心中引起足够的重视,其实如果抛开其业务模块相关的内容,单纯的就系统架构设计的方面来看,系统的日志模块还是十分重要的,一个好的日志模块的设计不仅能够帮助我们检测程序的执行的状态、系统的的负载情况、更能实时监控系统的运行情况。从这一点而言,如果一个系统设计的时候没有将日志模块摆在重要的位置上,那么这个系统肯定不能称之为一个健壮的系统。
日志的技术选型
目前常用的日志框架大概有下面的几种:log4j、JUI(Java Util Logging)、JCL(Jakarta C ommons logging)、slf4j(sample l ogging facade for java)、log4j2(log for j ava2).
log4j (log for java):最早的日志组件是Apache基金会提供的 log4j,但是不是Apache写的,捐献给apache后,apache开源了:很长的一段时间成为类 java 社区的日志标准;
JUL ( Java Util Logging ) :Apache公司建议sun将log4j收到java的标准库,但是sun拒绝了,可能为了日志市场,sun自己在jdk1.4提供的日志框架: JUL;
JCL (Jakarta C ommons logging) :对于log4j和JUL两个日志框架的出现,Apache觉得开发有点混乱,没有统一的标准也没有关联,有兼容问题,于是乎开发了个 Java Commons logging: 接口抽象层进行适配,完成了日志的兼容,并且也提供了默认的日志实现为 S im ple-Log:但可以兼容整合log4j和JUL;