From: Prashant D Date: Tue, 30 Aug 2022 07:29:24 +0000 (-0400) Subject: mon/LogMonitor: Fix log last X-Git-Tag: v18.0.0~8^2 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=32e40328fbdece9f6c573c11305ee525823e53c6;p=ceph.git mon/LogMonitor: Fix log last The ceph log last command outputs all the cluster logs generated from logm entries at DBG level, irrespective of their log level. We must output cluster logs generated from logm according to the log level specified in the log last command. Fixes: https://tracker.ceph.com/issues/57340 Signed-off-by: Prashant D --- diff --git a/src/mon/LogMonitor.cc b/src/mon/LogMonitor.cc index e6d1029a1f7b..99be08d17def 100644 --- a/src/mon/LogMonitor.cc +++ b/src/mon/LogMonitor.cc @@ -915,7 +915,7 @@ bool LogMonitor::preprocess_command(MonOpRequestRef op) } else { start = from; } - dout(10) << __func__ << " channnel " << p.first + dout(10) << __func__ << " channel " << p.first << " from " << from << " to " << to << dendl; for (version_t v = start; v < to; ++v) { bufferlist ebl; @@ -936,6 +936,9 @@ bool LogMonitor::preprocess_command(MonOpRequestRef op) entries.erase(entries.begin()); } for (auto& p : entries) { + if (!match(p.second)) { + continue; + } if (f) { f->dump_object("entry", p.second); } else { @@ -967,10 +970,12 @@ bool LogMonitor::preprocess_command(MonOpRequestRef op) LogEntry le; auto p = ebl.cbegin(); decode(le, p); - if (f) { - f->dump_object("entry", le); - } else { - ss << le << "\n"; + if (match(le)) { + if (f) { + f->dump_object("entry", le); + } else { + ss << le << "\n"; + } } } }