新增日誌 為ceph無日誌模組新增日誌

2021-10-14 20:48:17 字數 1581 閱讀 1164

最近在分析ceph某個模組的時候,發現該模組沒有日誌輸出模組(也就是無法直接使用dout列印日誌),基於此整理了下怎麼樣可以正常使用日誌列印。

話不多說,直接貼**好了。

如下,在subsys.h中新增想新增的子模組

root@fe4fcb2c09b7:/tmp/ceph-luminous# git diff src/common/subsys.h

diff --git a/src/common/subsys.h b/src/common/subsys.h

index 6e6c26fa78..636451e180 100644

--- a/src/common/subsys.h

+++ b/src/common/subsys.h

@@ -77,3 +77,4 @@ subsys(mgr, 1, 5)

subsys(mgrc, 1, 5)

subsys(dpdk, 1, 5)

subsys(eventtrace, 1, 5)

+subsys(aio, 1, 5) // 1和5代表預設的日誌列印級別

root@fe4fcb2c09b7:/tmp/ceph-luminous#

root@fe4fcb2c09b7:/tmp/ceph-luminous# git diff src/os/bluestore/aio.cc

diff --git a/src/os/bluestore/aio.cc b/src/os/bluestore/aio.cc

index 256f3db97f..21214f0e56 100644

--- a/src/os/bluestore/aio.cc

+++ b/src/os/bluestore/aio.cc

@@ -2,13 +2,30 @@

// vim: ts=8 sw=2 smarttab

++#include "common/debug.h"

+#include "common/errno.h"

+#include "include/assert.h"

+#include "common/ceph_context.h"

+ // 宣告aio子模組

+#define dout_context g_ceph_context

+#define dout_subsys ceph_subsys_aio

+#undef dout_prefix

+#define dout_prefix *_dout << "aio "

int aio_queue_t::submit_batch(aio_iter begin, aio_iter end,

uint16_t aios_size, void *priv,

int *retries)

{+ dout(3) << __func__ << "submit_batch" <<< dendl; // 可以使用dout列印了

日誌模組的新增

日誌的等級 import logging 日誌的五個等級,等級依次遞增 預設是warning等級 logging.debug logging.info logging.warning logging.error logging.critical 設定日誌等級 logging.basicconfig ...

為opentack 日誌新增行號

檢視openstack的nova api模組的日誌 tail f var log nova nova api.log 2016 12 13 17 50 46.683 20713 info nova.openstack common service started child 20742 2016 1...

為Django應用新增logging日誌功能

django uses python s builtin logging module to perform system logging.django使用python的內建日誌模組來記錄系統日誌,但是要想在django應用中開啟此功能使我們的部分操作能夠被記錄到日誌檔案,那麼就需要進行一定的配置並...