add log level control by ledger
This commit is contained in:
@@ -301,7 +301,8 @@ extern bool normalOutputEnabled;
|
||||
"G_TEST_TYPE=<num> - Set the G_TEST_TYPE 0:use ledger,1:use number\r\n"
|
||||
"TESTLEDGER <processNo>,<start>,<count> - Batch send UD ledger updates (e.g. TESTLEDGER 3,1,50)\r\n"
|
||||
"LOG=<bool> - Set the LOG\r\n"
|
||||
"MAX=<int> - Set the MAX_ITEMS\r\n"
|
||||
"LOGLIST - List all registered loggers\r\n"
|
||||
"MAX=<int> - Set the MAX_ITEMS\r\n"
|
||||
"dir - Execute rocketmq_test_getdir\r\n"
|
||||
"rc - Execute rocketmq_test_rc\r\n"
|
||||
"rt - Execute rocketmq_test_rt\r\n"
|
||||
@@ -368,6 +369,40 @@ extern bool normalOutputEnabled;
|
||||
int flag = std::atoi(cmd.substr(4).c_str());
|
||||
setTestlog(flag);
|
||||
sendStr(clientFD, "\r\x1B[KLOG updated\r\n");
|
||||
}else if (cmd == "LOGLIST" || cmd == "loglist") {
|
||||
std::ostringstream oss;
|
||||
|
||||
// 1️⃣ 打印 logger_map
|
||||
oss << "\r\x1B[KRegistered loggers (" << logger_map.size() << "):\r\n";
|
||||
for (const auto& it : logger_map) {
|
||||
oss << " " << it.first << "\r\n";
|
||||
}
|
||||
|
||||
// 2️⃣ 打印 LogLevelCache(原子只读)
|
||||
std::shared_ptr<LogLevelCache> cache =
|
||||
std::atomic_load_explicit(&g_level_cache_sp, std::memory_order_acquire);
|
||||
|
||||
if (!cache) {
|
||||
oss << "\r\x1B[K[LogLevelCache] <EMPTY>\r\n";
|
||||
} else {
|
||||
oss << "\r\x1B[K[LogLevelCache] terminal levels ("
|
||||
<< cache->term_min.size() << "):\r\n";
|
||||
|
||||
for (const auto& kv : cache->term_min) {
|
||||
oss << " terminal." << kv.first
|
||||
<< " -> " << loglevel_to_str(kv.second) << "\r\n";
|
||||
}
|
||||
|
||||
oss << "\r\x1B[K[LogLevelCache] monitor levels ("
|
||||
<< cache->mp_min.size() << "):\r\n";
|
||||
|
||||
for (const auto& kv : cache->mp_min) {
|
||||
oss << " monitor." << kv.first
|
||||
<< " -> " << loglevel_to_str(kv.second) << "\r\n";
|
||||
}
|
||||
}
|
||||
|
||||
sendStr(clientFD, oss.str());
|
||||
}else if (cmd.find("MAX=") == 0) {
|
||||
int flag = std::atoi(cmd.substr(4).c_str());
|
||||
setMaxItems(flag);
|
||||
@@ -488,6 +523,7 @@ void Worker::printLedgerinshell(const terminal_dev& dev, int fd) {
|
||||
os << "\r\x1B[K|-- timestamp : " << dev.timestamp << "\n";
|
||||
os << "\r\x1B[K|-- Righttime : " << dev.Righttime << "\n";
|
||||
os << "\r\x1B[K|-- mac : " << dev.mac << "\n";
|
||||
os << "\r\x1B[K|-- loglevel : " << dev.DevLogLevel << "\n";
|
||||
|
||||
// ========================= 终端级 · 内部定值 =========================
|
||||
// internal_values(ushort 列表)与 dz_internal_info_list 一一对应,仅展示前 MAX_ITEMS 条
|
||||
@@ -553,6 +589,7 @@ void Worker::printLedgerinshell(const terminal_dev& dev, int fd) {
|
||||
os << "\r\x1B[K |-- terminal_connect : " << ld.terminal_connect << "\n";
|
||||
os << "\r\x1B[K |-- status : " << ld.status << "\n";
|
||||
os << "\r\x1B[K |-- timestamp : " << ld.timestamp << "\n";
|
||||
os << "\r\x1B[K |-- loglevel : " << ld.LineLogLevel << "\n";
|
||||
os << "\r\x1B[K |-- CT1=" << ld.CT1 << ", CT2=" << ld.CT2
|
||||
<< ", PT1=" << ld.PT1 << ", PT2=" << ld.PT2 << "\n";
|
||||
|
||||
|
||||
Reference in New Issue
Block a user