Ceph中的debug log

举例

在config_opts.h中的SUBSYS(ms, 0, 5)定义了ceph_debug_ms的日志级别为log_level=0,gather_level=5;

ms模块使用ldout(msgr->cct, 1) « __func__ « " start” « dendl;打印日志,其中1表示本条日志的log_level=gather_level=1;

为了方便描述分别表示为:

ms.log_level = 0;

ms.gather_level = 5;

ldout.log_level = 1;

ldout.gather = 1;

因为ms.gather_level > ldout.gather,所以本条日志会记录在内存中。

因为ms.log_level < ldout.log_level,所以本条日志不会记录到日志文件中。

但是Ceph中提供了ceph daemon type.id log dump命令可以把内存中的日志刷入日志文件中,并且不受log_level影响。

设置日志级别

修改配置文件

[global]

debug ms = 1/5 #设置log_level=1,gather_level=5

[mon]

debug mon = 20 #设置log_level=20,gather_level=20

[osd]

debug osd = 1/5

[client]

debug rbd = 10

或者使用命令行

ceph tell osd.0 injectargs –debug-osd 0/5 #通过mon进行

ceph daemon osd.0 config set debug_osd 0/5 #通过Unix domain socket

你可能感兴趣的:(Ceph中的debug log)