]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
mon/LogMonitor: Fix log last 50407/head
authorPrashant D <pdhange@redhat.com>
Tue, 30 Aug 2022 07:29:24 +0000 (03:29 -0400)
committerRadosław Zarzyński <rzarzyns@redhat.com>
Mon, 6 Mar 2023 19:25:04 +0000 (20:25 +0100)
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 <pdhange@redhat.com>
(cherry picked from commit 32e40328fbdece9f6c573c11305ee525823e53c6)

src/mon/LogMonitor.cc

index 80e069d593af0f37132ac58eeaef07a77582b50f..2b628cebaafa1340ffbf5a2bf4a381cbf483f379 100644 (file)
@@ -913,7 +913,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;
@@ -934,6 +934,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 {
@@ -965,10 +968,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";
+             }
            }
          }
        }