jdk 日志浅析

本文探讨了从JDK 1.4开始引入的日志系统,详细介绍了其核心组件LogManager、Logger及Handle的功能与灵活性,并对比了广泛使用的Log4j框架,探讨其优势所在。

        我们知道,从jdk1.4开始,java中引入了自己的日志系统,但是绝大多数人还是继续用log4j,我很想一探究竟,因此,我花了点时间看jdk logger的源码,发现jdk自带的日志系统结构相当的清晰,主要涉及到3个类,一个是LogManager,这个类专门负责管理注册的logger的,和我们的日志配置文件属性。另外一个重要的类就是Logger了,这个类就是我们的日志类,这个类,主要记录了这个日志的处理器信息,也就是与它关联的Handle,最后一个重要的类就是Handle了,这个类是个抽象类,一个它的实现,可以被注册到具体的Logger对象里面,负责处理这个Logger的日志输出。

         当然,jdk Logger中给了我们很多默认的实现,比如StreamHandler,这个处理类就对日志的输出有一定的规定,具体代码在publish方法里面,当然我们可以在它的基础上进行扩展,可以按照我们的自己的格式化输出,实现Formatter,当然,我们也可以不按照StreamHandler中的publish实现走,我们可以写自己的publish方法,直接继承Handle. 我觉得灵活性相当的大。当然,jdk logger已经为我们提供了4个Handle,可供选择,分别是:MemeryHandle,FileHandle,ConsoleHandle,InternalStreamHandle,SocketHandle.

         而log4j,它的优点到底在什么地方,为什么会又这么多的人用它?

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值