From c5a139b9cd758ba99c89f43bc094af180d2ac127 Mon Sep 17 00:00:00 2001 From: Vost Date: Wed, 22 Apr 2020 14:39:39 +0200 Subject: [PATCH] Add possibility to alter subject before print it this should allow us to update the current subject with .roarr.js / remove/add fields, have some control on the subject. It's an idea, I don't know if it's the right place, and the right method. I'm not sure to understand everything. Just a proposal (not tested) --- src/factories/createLogFilter.js | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/src/factories/createLogFilter.js b/src/factories/createLogFilter.js index ea826cb..13ac2f8 100644 --- a/src/factories/createLogFilter.js +++ b/src/factories/createLogFilter.js @@ -18,17 +18,23 @@ export default (configuration: LogFilterConfigurationType) => { let buffer = []; const filterLog = (line: string) => { + + const subject = JSON.parse(line); + let isSubject = configuration.filterFunction(subject) + + if(isSubject && !(isSubject===true || isSubject===false)){ + line = JSON.stringify(isSubject); + } + buffer.push(line); - + buffer = buffer.slice(-1 * configuration.lag - 1); - const subject = JSON.parse(line); - let result; if ( configuration.filterExpression && matchObject(subject, configuration.filterExpression) || - configuration.filterFunction && configuration.filterFunction(subject) + configuration.filterFunction && isSubject ) { result = buffer.slice(-1 * lastLinePrinterLinesAgo - 1, -1).join('\n') + '\n' + line.trim();