Ceph Log日志相关代码走读

以ceph-10.2.9版本,ceph-mds进程为例

创建CephContext类对象

如图一所示,ceph_mds.cc中main函数,首先调用了函数global_init, 在global_init中,创建了一个CephContext类对象cct,并将cct赋给全局变量g_ceph_context。

图一

 

CephContext类解析

如图二所示,调用CephContext构造函数,CephContext构造函数会创建md_config_t类对象(解析日志,包括name,log_level,gather_level)。根据md_config_t类对象解析出来的结果,作为参数,创建Log类对象,并启动Log日志

Ceph Log日志相关代码走读_第1张图片

图二

 

启动Log日志, 并输出log

如图三所示,创建了Log日志线程,用于输出log日志

Ceph Log日志相关代码走读_第2张图片

图三

 

添加log队列

如图四所示,将输出加入到Entry,再将Entry添加到队列中

Ceph Log日志相关代码走读_第3张图片

图四

你可能感兴趣的:(Ceph Log日志相关代码走读)