nutz 源码解读 log篇

开始学习框架思想了,打算先从nutz入手,因为nutz是国人写的,中文注释,容易理解
而且nutz框架比较小,但是麻雀虽小五脏俱全,大牛的思想还是可以学到的.
1.
这个是log的包信息,基本上有了一个大题的介绍
2.接口 public interface Log
  五个级别trace,info,warn,debug,fatal这个都比较容易理解
提供了3个约等于重载的方法
他提工具了一个抽象实现类,实现了部分功能但是主要的输出还是在两个适配器中的内部类进行输出的
这个AbstractLog  提供了一个主要的方法makeInfo目的就是产生下面介绍的LogInfo 对象,
对之前的方法重载做统一处理
但是输出地还是在适配器的内部类当中
static class Log4JLogger extends AbstractLog 
static class SystemLog extends AbstractLog


3.信息 LogInfo 定义的比较简单信息message,异常Throwable

4.日志适配器   (适配器模式出来了哈,不过我也用过适配器模式)  LogAdapter
这里就把system.out.print和log4j进行了适配,再利用他的插件机制,动态获取
这里只定义一个方法获取log其实需要的也就这个不

他提供3个适配器
1.NopLog 什么都不干适配器
2.SystemLogAdapter 这个应该很明显了输出到控制台
3.Log4jLogAdapter 这个应该是最常用也是最主要用的
不过最好再提供个SLF4jLogAdapter 这样看nuth的扩展性存在一点小问题

 
他是在这里写死的,不如配置的容易定义
5.Logs 这个也是最主要最常用的了
他静态初始化了适配器的
private static LogAdapter adapter;
然后提供静态方法 getLog这样就想平常一样调用上面的输出了
这里if感觉多此一举,既然这样判断何不在warn里面判断呢(效率问题),感觉这样写法有点蛋疼,
希望自己在2014可以坚持看完更多源码,加油.!!!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值