summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorChristian Mollekopf <chrigi_1@fastmail.fm>2017-10-26 20:18:24 +0200
committerChristian Mollekopf <chrigi_1@fastmail.fm>2017-10-26 20:18:24 +0200
commite666c8a42b931f547cdb2176475b2124203fe64b (patch)
treea918b9dd9c246834ad1225b465c9aed3170112b2
parentc8df955b2866e8aa6279486b8395a3bd2e79f9d5 (diff)
downloadkube-e666c8a42b931f547cdb2176475b2124203fe64b.tar.gz
kube-e666c8a42b931f547cdb2176475b2124203fe64b.zip
Merge logentries by subtype if available
-rw-r--r--components/kube/contents/ui/LogView.qml8
-rw-r--r--tests/tst_logview.qml8
2 files changed, 16 insertions, 0 deletions
diff --git a/components/kube/contents/ui/LogView.qml b/components/kube/contents/ui/LogView.qml
index e92db8a2..24d42373 100644
--- a/components/kube/contents/ui/LogView.qml
+++ b/components/kube/contents/ui/LogView.qml
@@ -46,6 +46,14 @@ Controls.SplitView {
46 root.pendingError = true 46 root.pendingError = true
47 } 47 }
48 var error = {timestamp: new Date(), message: message.message, details: message.details, resource: message.resource} 48 var error = {timestamp: new Date(), message: message.message, details: message.details, resource: message.resource}
49 if (logModel.count > 0) {
50 var lastEntry = logModel.get(0)
51 //Merge if we get an entry of the same subtype
52 if (lastEntry.subtype && lastEntry.subtype == message.subtype) {
53 logModel.set(0, {type: message.type, subtype: message.subtype, errors: [error].concat(lastEntry.errors)})
54 return
55 }
56 }
49 logModel.insert(0, {type: message.type, subtype: message.subtype, errors: [error]}) 57 logModel.insert(0, {type: message.type, subtype: message.subtype, errors: [error]})
50 } 58 }
51 } 59 }
diff --git a/tests/tst_logview.qml b/tests/tst_logview.qml
index 48e21734..86668d72 100644
--- a/tests/tst_logview.qml
+++ b/tests/tst_logview.qml
@@ -54,5 +54,13 @@ TestCase {
54 compare(listModel.get(0).errors.count, 1) 54 compare(listModel.get(0).errors.count, 1)
55 compare(listModel.get(0).errors.get(0).message, "foobar") 55 compare(listModel.get(0).errors.get(0).message, "foobar")
56 compare(listModel.get(0).errors.get(0).resource, "resource") 56 compare(listModel.get(0).errors.get(0).resource, "resource")
57
58 Kube.Fabric.postMessage(Kube.Messages.notification, {"type": Kube.Notifications.error, "subtype": "merge", message: "merge1", resource: "resource1"})
59 compare(listModel.count, 3)
60 Kube.Fabric.postMessage(Kube.Messages.notification, {"type": Kube.Notifications.error, "subtype": "merge", message: "merge2", resource: "resource2"})
61 compare(listModel.count, 3)
62 compare(listModel.get(0).errors.count, 2)
63 compare(listModel.get(0).errors.get(0).message, "merge2")
64 compare(listModel.get(0).errors.get(0).resource, "resource2")
57 } 65 }
58} 66}