diff --git a/webapp/src/components/appContent.vue b/webapp/src/components/appContent.vue
index 6810d55a..a2dd1bbc 100644
--- a/webapp/src/components/appContent.vue
+++ b/webapp/src/components/appContent.vue
@@ -216,11 +216,11 @@ export default {
component: settingsContent,
class: "uk-margin-auto-top"
},
- /*{
+ {
id: "logging",
icon: "assignment_late",
component: loggingContent
- },*/
+ },
{
id: "about",
icon: "info",
diff --git a/webapp/src/components/tabContentComponents/loggingContent.vue b/webapp/src/components/tabContentComponents/loggingContent.vue
index 8bbf45c6..56a51686 100644
--- a/webapp/src/components/tabContentComponents/loggingContent.vue
+++ b/webapp/src/components/tabContentComponents/loggingContent.vue
@@ -42,15 +42,15 @@
-
{{ formatDateTime(item.data.created) }}
+
{{ formatDateTime(item.timestamp) }}
{{ formatMessage(item) }}
@@ -102,18 +102,15 @@ export default {
var items = [];
for (var item of this.logs) {
// Add to capture list if matched
- if (this.filteredLevels.includes(item.data.levelname)) {
+ if (this.filteredLevels.includes(item.level)) {
items.push(item);
}
}
return items;
},
- loggingUri: function() {
- return `${this.$store.getters.baseUri}/api/v2/events/logging`;
- },
logFileURI: function() {
- return `${this.$store.getters.baseUri}/api/v2/log`;
+ return `${this.$store.getters.baseUri}/log/`;
},
pagedItems: function() {
let startIndex = (this.page - 1) * this.maxitems;
@@ -124,11 +121,6 @@ export default {
}
},
- mounted() {
- // Update on mount (does nothing if not connected)
- this.updateLogs();
- },
-
methods: {
scrollToTop() {
const el = document.querySelector("#container-left");
@@ -141,22 +133,30 @@ export default {
this.updateLogs();
}
},
- updateLogs: function() {
- axios
- .get(this.loggingUri)
- .then(response => {
- this.logs = response.data.reverse();
- })
- .catch(error => {
- this.modalError(error); // Let mixin handle error
- });
+ async updateLogs() {
+ let response = await axios.get(this.logFileURI);
+ let lines = response.data.split("\n").reverse();
+ this.logs = [];
+ let regexp = /\[(.+)\] \[(.+)\] (.*)$/;
+ for (let line of lines) {
+ if (line.length > 0) {
+ let m = line.match(regexp);
+ this.logs.push({
+ timestamp: m[1],
+ level: m[2],
+ message: m[3],
+ sequence: this.logs.length
+ });
+ }
+ }
},
formatDateTime: function(isoDateTimeString) {
+ isoDateTimeString = isoDateTimeString.replace(",", ".");
let date = new Date(isoDateTimeString);
return date.toLocaleDateString() + " " + date.toLocaleTimeString();
},
formatMessage: function(item) {
- return item.data.levelname + ": " + item.data.message;
+ return item.level + ": " + item.message;
}
}
};