LogResolver 接口目前提供了2个实现类:PatternLogResolver 、JsonLogResolver 分别返回 PatternLogger 和 JsonLogger。
ILog 接口的实现类
===========
- NoopLogger 枚举
NoopLogger 直接继承了 ILog,NoopLogger 只是实现了 ILog 接口,所有方法都是空实现,NoopLogger 存在的意义是为了防止 NullPointerException,因为调用者可以通过 LogManager 的 setLogResolver 方法设置不同的日志解析器 LogResolver,如果为null,则返回 ILog 接口的默认实现 NoopLogger。
-
AbstractLogger 抽象类
-
PatternLogger
-
JsonLogger
AbstractLogger
==============
AbstractLogger 抽象类是为了简化 ILog 接口的具体实现,主要功能:
-
它持有logger类名 targetClass;
-
负责日志级别检查;
-
解析用户输入的 message,将{}替换为对应的参数值;
-
提供格式化日志内容的抽象方法,需要具体子类实现,目前支持 pattern 和 json 两种,默认为pattern。
输出的日志格式
%level %timestamp %thread %class : %msg %throwable
每一项代表的意义如下:
%level 日志级别.
%timestamp 时间戳 yyyy-MM-dd HH:mm:ss:SSS 格式.
<