From 6794d7e0b470eec31ad3cf59a87111115e91c154 Mon Sep 17 00:00:00 2001 From: "Benjamin Arntzen (aider)" Date: Thu, 27 Jun 2024 06:30:20 +0100 Subject: [PATCH] Improved log parsing by handling escaped quotes and skipping empty lines. --- server.js | 22 +++++++++------------- 1 file changed, 9 insertions(+), 13 deletions(-) diff --git a/server.js b/server.js index c50ecba..57b601c 100644 --- a/server.js +++ b/server.js @@ -45,24 +45,20 @@ setInterval(async () => { const query = 'query=_time:5s relay received'; try { const response = await axios.post('https://vmselect.riff.cc/select/logsql/query', query); - try { - const responseData = JSON.parse(response.data); - console.log('Parsed response data:', responseData); - logs = responseData.data; // Assuming the logs are in responseData.data - } catch (parseError) { - console.error('Error parsing response data:', parseError); - const logLines = response.data.split('\n'); - const validLogs = []; - logLines.forEach((line, index) => { + const logLines = response.data.split('\n'); + const validLogs = []; + logLines.forEach((line, index) => { + if (line.trim() !== '') { try { - const parsedLog = JSON.parse(line); + const unescapedLine = line.replace(/\\"/g, '"'); + const parsedLog = JSON.parse(unescapedLine); validLogs.push(parsedLog); } catch (parseError) { console.error(`Error parsing log line at index ${index}:`, line); } - }); - logs = validLogs; - } + } + }); + logs = validLogs; console.log('Logs response:', logs); if (Array.isArray(logs)) {