From 0d5bd481f053a58e7dae4811b41a9c718c92ef0f Mon Sep 17 00:00:00 2001 From: Thomas Smyth Date: Sun, 25 Oct 2020 14:28:36 +0000 Subject: [PATCH] Add additional logging to LogParser --- core/constants.js | 2 +- core/logger.js | 5 +++-- log-parser/index.js | 6 ++++++ squad-server/index.js | 24 +++++++++++++++++++----- squad-server/utils/logger.js | 5 +++-- 5 files changed, 32 insertions(+), 10 deletions(-) diff --git a/core/constants.js b/core/constants.js index a3bd252..e7dcc7e 100644 --- a/core/constants.js +++ b/core/constants.js @@ -1,3 +1,3 @@ const SQUADJS_API_DOMAIN = 'https://squadjs.thomas-smyth.uk'; -export { SQUADJS_API_DOMAIN }; \ No newline at end of file +export { SQUADJS_API_DOMAIN }; diff --git a/core/logger.js b/core/logger.js index 30624c5..d3005fc 100644 --- a/core/logger.js +++ b/core/logger.js @@ -4,7 +4,8 @@ class Logger { } verbose(module, verboseness, message, ...extras) { - if((this.verboseness[module] || 1) >= verboseness) console.log(`[${module}][${verboseness}] ${message}`, ...extras); + if ((this.verboseness[module] || 1) >= verboseness) + console.log(`[${module}][${verboseness}] ${message}`, ...extras); } setVerboseness(module, verboseness) { @@ -12,4 +13,4 @@ class Logger { } } -export default new Logger(); \ No newline at end of file +export default new Logger(); diff --git a/log-parser/index.js b/log-parser/index.js index 6f7c862..edb483c 100644 --- a/log-parser/index.js +++ b/log-parser/index.js @@ -20,13 +20,19 @@ export default class LogParser extends EventEmitter { this.linesPerMinuteInterval = null; this.queue = async.queue(async (line) => { + Logger.verbose('LogParser', 4, `Matching on line: ${line}`); + for (const rule of rules) { const match = line.match(rule.regex); if (!match) continue; + Logger.verbose('LogParser', 3, `Matched on line: ${match[0]}`); + match[1] = moment.utc(match[1], 'YYYY.MM.DD-hh.mm.ss:SSS').toDate(); match[2] = parseInt(match[2]); + rule.onMatch(match, this); + break; } diff --git a/squad-server/index.js b/squad-server/index.js index 928e40a..65cf312 100644 --- a/squad-server/index.js +++ b/squad-server/index.js @@ -358,7 +358,7 @@ export default class SquadServer extends EventEmitter { static async buildFromConfig(config) { // Setup logging levels - for(const [module, verboseness] of Object.entries(config.verboseness)) { + for (const [module, verboseness] of Object.entries(config.verboseness)) { Logger.setVerboseness(module, verboseness); } @@ -399,7 +399,11 @@ export default class SquadServer extends EventEmitter { Logger.verbose('SquadServer', 1, `Starting mysqlPool connector ${connectorName}...`); connectors[connectorName] = mysql.createPool(connectorConfig); } else if (option.connector === 'squadlayerpool') { - Logger.verbose('SquadServer', 1, `Starting squadlayerfilter connector ${connectorName}...`); + Logger.verbose( + 'SquadServer', + 1, + `Starting squadlayerfilter connector ${connectorName}...` + ); connectors[connectorName] = server.squadLayers[connectorConfig.type]( connectorConfig.filter, connectorConfig.activeLayerFilter @@ -491,9 +495,19 @@ export default class SquadServer extends EventEmitter { try { const { data } = await axios.post(SQUADJS_API_DOMAIN + '/api/v1/ping', { config }); - if(data.error) Logger.verbose('SquadServer', 1, `Successfully pinged the SquadJS API. Got back error: ${data.error}`); - else Logger.verbose('SquadServer', 1, `Successfully pinged the SquadJS API. Got back message: ${data.message}`); - } catch(err) { + if (data.error) + Logger.verbose( + 'SquadServer', + 1, + `Successfully pinged the SquadJS API. Got back error: ${data.error}` + ); + else + Logger.verbose( + 'SquadServer', + 1, + `Successfully pinged the SquadJS API. Got back message: ${data.message}` + ); + } catch (err) { Logger.verbose('SquadServer', 1, 'Failed to ping the SquadJS API: ', err); } diff --git a/squad-server/utils/logger.js b/squad-server/utils/logger.js index 8b1dfa8..68eaf6d 100644 --- a/squad-server/utils/logger.js +++ b/squad-server/utils/logger.js @@ -4,7 +4,8 @@ class Logger { } verbose(module, verboseness, message, ...extras) { - if(this.verboseness[module] >= verboseness) console.log(`[${module}][${verboseness}] ${message}`, ...extras); + if (this.verboseness[module] >= verboseness) + console.log(`[${module}][${verboseness}] ${message}`, ...extras); } setVerboseness(module, verboseness) { @@ -12,4 +13,4 @@ class Logger { } } -export default new Logger(); \ No newline at end of file +export default new Logger();