前言
最近闲来无事,把 Netty In Action 这本书的前226页翻译了一遍。我说的翻译是开着google 翻译。看了后还是没有什么感觉。就想自己看看代码。反正就学不会,也没有项目的压力,那就走马观花的看吧。把自己想想成一只小狗,酒足饭饱后躺在沙堆里,咬着刚从坑里面刨出来的一根骨头。顺便记录一下,方便以后回顾。本着不学无术,看稀奇的态度,走到哪里,看到哪里,这里没有干货,也不能快速上手(我还没有跑过demo)。管它的,玩呗。
模块间依赖
idea 有提供看模块依赖的功能,只需要选中项目子模块,鼠标右键,选择 Diagrams, 再选择 Show Diagram… 。 接着在弹出框 Show Diagram Type 里面选择 Project modules 就可以看到项目的模块依赖关系了。如果想看全部的项目模块依赖,需要选择 netty-all 这个模块。
上一张图:
netty-common 模块
从模块上看,几乎所有的模块都要依赖 netty-common 这个子模块。而这个子模块不依赖于任何其他模块。从名字上也可以看出,他是一个公用模块。存放一些其他模块要用的工具类: 比如日志(logging),并发(concurrent),常量定义类和数据接口工具类等。
netty-common logging
先看看 logging 这个包的类图吧:
可以看到 InternalLogger 这个接口,算是日志这个功能萌发的起点了。它根据日志的级别定了打印日志的不同方式。日志级别是在 InternalLogLevel 这个类里面定义的。
- TRACE
- DEBUG
- INFO
- WARN
- ERROR
接口定义了打印日志的六种方式:
- (String message) 直接打印日志消息 <