Parsed log lines by unescaping characters and parsing JSON strings.
This commit is contained in:
committed by
Benjamin Arntzen (aider)
parent
c5e0f32d33
commit
a3afac604b
@@ -105,7 +105,7 @@ function parseLogLines(data) {
|
||||
logLines.forEach((line, index) => {
|
||||
if (line.trim() !== '') {
|
||||
try {
|
||||
let unescapedLine = line.replace(/\\\\"/g, '\\"');
|
||||
let unescapedLine = line.replace(/\\\\"/g, '"');
|
||||
unescapedLine = unescapedLine.replace(/\\n/g, '\n');
|
||||
unescapedLine = unescapedLine.replace(/\\t/g, '\t');
|
||||
unescapedLine = unescapedLine.replace(/\\r/g, '\r');
|
||||
@@ -113,7 +113,22 @@ function parseLogLines(data) {
|
||||
unescapedLine = unescapedLine.replace(/\\&/g, '&');
|
||||
unescapedLine = unescapedLine.replace(/\\b/g, '\b');
|
||||
unescapedLine = unescapedLine.replace(/\\f/g, '\f');
|
||||
const parsedLog = JSON.parse(unescapedLine, (key, value) => {
|
||||
// Remove the wrapping quotes from the JSON string
|
||||
unescapedLine = unescapedLine.replace(/^"|"$/g, '');
|
||||
// Replace escaped double quotes with unescaped double quotes
|
||||
unescapedLine = unescapedLine.replace(/\\"/g, '"');
|
||||
// Replace escaped backslashes with a single backslash
|
||||
unescapedLine = unescapedLine.replace(/\\\\/g, '\\');
|
||||
// Now parse the JSON
|
||||
const parsedLog = JSON.parse(unescapedLine);
|
||||
validLogs.push(parsedLog);
|
||||
} catch (parseError) {
|
||||
console.error(`Error parsing log line at index ${index}: ${parseError.message}`);
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
return validLogs;
|
||||
if (typeof value === 'string') {
|
||||
try {
|
||||
return JSON.parse(value);
|
||||
|
||||
Reference in New Issue
Block a user