SkyWalking Java Agent 日志组件分析

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 接口的具体实现,主要功能:

  1. 它持有logger类名 targetClass;

  2. 负责日志级别检查;

  3. 解析用户输入的 message,将{}替换为对应的参数值;

  4. 提供格式化日志内容的抽象方法,需要具体子类实现,目前支持 pattern 和 json 两种,默认为pattern。

输出的日志格式

%level %timestamp %thread %class : %msg %throwable

每一项代表的意义如下:

%level 日志级别.

%timestamp 时间戳 yyyy-MM-dd HH:mm:ss:SSS 格式.

<
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值