From 103e4d0ccee773cc72b0ee838d8e01173e1be8b5 Mon Sep 17 00:00:00 2001 From: Luis Fernando Molina Date: Tue, 1 Dec 2020 12:08:19 +0100 Subject: [PATCH] PROCESS INSTANCE LOGGER cleaned --- .../Multi-Period-Daily/User.Bot.js | 4 +- .../Multi-Period-Market/User.Bot.js | 4 +- .../Multi-Period-Daily/User.Bot.js | 4 +- .../Multi-Period-Market/User.Bot.js | 4 +- .../Historic-OHLCVs/User.Bot.js | 4 +- .../Historic-Trades/User.Bot.js | 4 +- .../Check-Webhook/User.Bot.js | 4 +- .../BollingerBands.js | 2 +- .../PercentageBandwidth.js | 2 +- .../Plotters-Candles-Volumes/Candles.js | 2 +- .../Plotters-Candles-Volumes/Volumes.js | 2 +- .../TS/Function-Libraries/LoggerFunctions.js | 0 .../TS/Function-Libraries/SessionFunctions.js | 18 ++--- .../Superalgos/TS/Globals/LoggerVariables.js | 12 ++- .../UI/Function-Libraries/NodeCloning.js | 2 +- .../UI/Function-Libraries/ProtocolNode.js | 2 +- .../UI/Spaces/Charting-Space/ChartingSpace.js | 2 +- .../Spaces/Charting-Space/PlottersManager.js | 2 +- .../Plotting/NodesAnnouncements.js | 2 +- .../Charting-Space/Plotting/NodesErrors.js | 2 +- .../Plotting/NodesHighlights.js | 2 +- .../Charting-Space/Plotting/NodesInfos.js | 2 +- .../Charting-Space/Plotting/NodesProgress.js | 2 +- .../Charting-Space/Plotting/NodesRunning.js | 2 +- .../Charting-Space/Plotting/NodesStatus.js | 2 +- .../Charting-Space/Plotting/NodesValues.js | 2 +- .../Charting-Space/Plotting/NodesWarnings.js | 2 +- .../Spaces/Charting-Space/Plotting/Plotter.js | 2 +- .../Charting-Space/Plotting/RecordValues.js | 2 +- .../UI/Spaces/Charting-Space/TimeMachine.js | 2 +- .../UI/Spaces/Charting-Space/TimelineChart.js | 2 +- .../UI/Spaces/Design-Space/Workspace.js | 2 +- .../UI/Spaces/Floating-Space/FloatingLayer.js | 2 +- .../Spaces/Floating-Space/FloatingObject.js | 2 +- .../UI/Spaces/Floating-Space/UiObject.js | 2 +- .../Floating-Space/UiObjectConstructor.js | 2 +- .../UI/Spaces/Floating-Space/UiObjectTitle.js | 2 +- .../Superalgos/UI/Spaces/Panel-Space/Layer.js | 2 +- .../UI/Spaces/Panel-Space/PlotterPanel.js | 2 +- .../UI/Spaces/Side-Space/ListItem.js | 2 +- .../UI/Spaces/Side-Space/ListView.js | 2 +- TaskServer/DataSet.js | 4 +- TaskServer/DebugLog.js | 15 ---- TaskServer/IndicatorBot.js | 17 ++-- TaskServer/IndicatorOutput.js | 4 +- .../LowFrequencyTrading/TradingProcess.js | 4 +- TaskServer/MultiPeriodDaily.js | 4 +- TaskServer/MultiPeriodMarket.js | 4 +- TaskServer/ProcessExecutionEvents.js | 3 +- TaskServer/ProcessInstance.js | 45 ++++++----- TaskServer/SensorBot.js | 19 +++-- TaskServer/StatusReport.js | 1 - TaskServer/TradingBot.js | 15 ++-- TaskServer/TradingSession.js | 77 +++++++++---------- UI/Animation.js | 2 +- UI/AppLoader.js | 2 +- UI/AppPostLoader.js | 2 +- UI/Canvas.js | 2 +- UI/Data-Files/src/DailyFiles.js | 2 +- UI/Data-Files/src/FileCloud.js | 2 +- UI/Data-Files/src/FileCursor.js | 2 +- UI/Data-Files/src/FileSequence.js | 2 +- UI/Data-Files/src/FileStorage.js | 2 +- UI/Data-Files/src/MarketFiles.js | 2 +- UI/Data-Files/src/SingleFile.js | 2 +- UI/EventsServerClient.js | 2 +- UI/PostLoader.js | 2 +- UI/ProductStorage.js | 2 +- 68 files changed, 172 insertions(+), 188 deletions(-) create mode 100644 Projects/Superalgos/TS/Function-Libraries/LoggerFunctions.js diff --git a/Projects/Superalgos/Bots-Plotters-Code/Masters/bots/Bollinger-Bands-Indicator-Bot/Multi-Period-Daily/User.Bot.js b/Projects/Superalgos/Bots-Plotters-Code/Masters/bots/Bollinger-Bands-Indicator-Bot/Multi-Period-Daily/User.Bot.js index f152e365c..cb485a65f 100644 --- a/Projects/Superalgos/Bots-Plotters-Code/Masters/bots/Bollinger-Bands-Indicator-Bot/Multi-Period-Daily/User.Bot.js +++ b/Projects/Superalgos/Bots-Plotters-Code/Masters/bots/Bollinger-Bands-Indicator-Bot/Multi-Period-Daily/User.Bot.js @@ -32,8 +32,8 @@ try { - logger.fileName = MODULE_NAME; - logger.initialize(); + + if (FULL_LOG === true) { logger.write(MODULE_NAME, "[INFO] initialize -> Entering function."); } diff --git a/Projects/Superalgos/Bots-Plotters-Code/Masters/bots/Bollinger-Bands-Indicator-Bot/Multi-Period-Market/User.Bot.js b/Projects/Superalgos/Bots-Plotters-Code/Masters/bots/Bollinger-Bands-Indicator-Bot/Multi-Period-Market/User.Bot.js index 99e8c8020..1eb975ec5 100644 --- a/Projects/Superalgos/Bots-Plotters-Code/Masters/bots/Bollinger-Bands-Indicator-Bot/Multi-Period-Market/User.Bot.js +++ b/Projects/Superalgos/Bots-Plotters-Code/Masters/bots/Bollinger-Bands-Indicator-Bot/Multi-Period-Market/User.Bot.js @@ -26,8 +26,8 @@ try { - logger.fileName = MODULE_NAME; - logger.initialize(); + + if (FULL_LOG === true) { logger.write(MODULE_NAME, "[INFO] initialize -> Entering function."); } diff --git a/Projects/Superalgos/Bots-Plotters-Code/Masters/bots/Candles-Volumes-Indicator-Bot/Multi-Period-Daily/User.Bot.js b/Projects/Superalgos/Bots-Plotters-Code/Masters/bots/Candles-Volumes-Indicator-Bot/Multi-Period-Daily/User.Bot.js index c5c9671cf..ab499c619 100644 --- a/Projects/Superalgos/Bots-Plotters-Code/Masters/bots/Candles-Volumes-Indicator-Bot/Multi-Period-Daily/User.Bot.js +++ b/Projects/Superalgos/Bots-Plotters-Code/Masters/bots/Candles-Volumes-Indicator-Bot/Multi-Period-Daily/User.Bot.js @@ -34,8 +34,8 @@ try { - logger.fileName = MODULE_NAME; - logger.initialize(); + + if (FULL_LOG === true) { logger.write(MODULE_NAME, "[INFO] initialize -> Entering function."); } diff --git a/Projects/Superalgos/Bots-Plotters-Code/Masters/bots/Candles-Volumes-Indicator-Bot/Multi-Period-Market/User.Bot.js b/Projects/Superalgos/Bots-Plotters-Code/Masters/bots/Candles-Volumes-Indicator-Bot/Multi-Period-Market/User.Bot.js index c47590fe8..aa48e6729 100644 --- a/Projects/Superalgos/Bots-Plotters-Code/Masters/bots/Candles-Volumes-Indicator-Bot/Multi-Period-Market/User.Bot.js +++ b/Projects/Superalgos/Bots-Plotters-Code/Masters/bots/Candles-Volumes-Indicator-Bot/Multi-Period-Market/User.Bot.js @@ -34,8 +34,8 @@ try { - logger.fileName = MODULE_NAME; - logger.initialize(); + + if (FULL_LOG === true) { logger.write(MODULE_NAME, "[INFO] initialize -> Entering function."); } diff --git a/Projects/Superalgos/Bots-Plotters-Code/Masters/bots/Exchange-Raw-Data-Sensor-Bot/Historic-OHLCVs/User.Bot.js b/Projects/Superalgos/Bots-Plotters-Code/Masters/bots/Exchange-Raw-Data-Sensor-Bot/Historic-OHLCVs/User.Bot.js index fba29d095..e0264ddef 100644 --- a/Projects/Superalgos/Bots-Plotters-Code/Masters/bots/Exchange-Raw-Data-Sensor-Bot/Historic-OHLCVs/User.Bot.js +++ b/Projects/Superalgos/Bots-Plotters-Code/Masters/bots/Exchange-Raw-Data-Sensor-Bot/Historic-OHLCVs/User.Bot.js @@ -49,8 +49,8 @@ exports.newUserBot = function (processIndex, logger, COMMONS, UTILITIES, FILE_ST try { - logger.fileName = MODULE_NAME; - logger.initialize(); + + statusDependencies = pStatusDependencies; diff --git a/Projects/Superalgos/Bots-Plotters-Code/Masters/bots/Exchange-Raw-Data-Sensor-Bot/Historic-Trades/User.Bot.js b/Projects/Superalgos/Bots-Plotters-Code/Masters/bots/Exchange-Raw-Data-Sensor-Bot/Historic-Trades/User.Bot.js index 422e01ace..7142573a6 100644 --- a/Projects/Superalgos/Bots-Plotters-Code/Masters/bots/Exchange-Raw-Data-Sensor-Bot/Historic-Trades/User.Bot.js +++ b/Projects/Superalgos/Bots-Plotters-Code/Masters/bots/Exchange-Raw-Data-Sensor-Bot/Historic-Trades/User.Bot.js @@ -44,8 +44,8 @@ exports.newUserBot = function (processIndex, logger, COMMONS, UTILITIES, FILE_ST function initialize(pStatusDependencies, callBackFunction) { try { - logger.fileName = MODULE_NAME; - logger.initialize(); + + statusDependencies = pStatusDependencies; diff --git a/Projects/Superalgos/Bots-Plotters-Code/Masters/bots/Webhooks-Sensor-Bot/Check-Webhook/User.Bot.js b/Projects/Superalgos/Bots-Plotters-Code/Masters/bots/Webhooks-Sensor-Bot/Check-Webhook/User.Bot.js index a2183a8b6..69196f57f 100644 --- a/Projects/Superalgos/Bots-Plotters-Code/Masters/bots/Webhooks-Sensor-Bot/Check-Webhook/User.Bot.js +++ b/Projects/Superalgos/Bots-Plotters-Code/Masters/bots/Webhooks-Sensor-Bot/Check-Webhook/User.Bot.js @@ -20,8 +20,8 @@ exports.newUserBot = function (processIndex, logger, COMMONS, UTILITIES, FILE_ST function initialize(pStatusDependencies, callBackFunction) { try { - logger.fileName = MODULE_NAME; - logger.initialize(); + + statusDependencies = pStatusDependencies; diff --git a/Projects/Superalgos/Bots-Plotters-Code/Masters/plotters/Plotters-Bollinger-Bands/BollingerBands.js b/Projects/Superalgos/Bots-Plotters-Code/Masters/plotters/Plotters-Bollinger-Bands/BollingerBands.js index 3a5950ede..32441feda 100644 --- a/Projects/Superalgos/Bots-Plotters-Code/Masters/plotters/Plotters-Bollinger-Bands/BollingerBands.js +++ b/Projects/Superalgos/Bots-Plotters-Code/Masters/plotters/Plotters-Bollinger-Bands/BollingerBands.js @@ -4,7 +4,7 @@ const ERROR_LOG = true; const INTENSIVE_LOG = false; const logger = newWebDebugLog(); - logger.fileName = MODULE_NAME; + let thisObject = { diff --git a/Projects/Superalgos/Bots-Plotters-Code/Masters/plotters/Plotters-Bollinger-Bands/PercentageBandwidth.js b/Projects/Superalgos/Bots-Plotters-Code/Masters/plotters/Plotters-Bollinger-Bands/PercentageBandwidth.js index 0f38df5b2..169a03e53 100644 --- a/Projects/Superalgos/Bots-Plotters-Code/Masters/plotters/Plotters-Bollinger-Bands/PercentageBandwidth.js +++ b/Projects/Superalgos/Bots-Plotters-Code/Masters/plotters/Plotters-Bollinger-Bands/PercentageBandwidth.js @@ -4,7 +4,7 @@ const ERROR_LOG = true; const INTENSIVE_LOG = false; const logger = newWebDebugLog(); - logger.fileName = MODULE_NAME; + let thisObject = { diff --git a/Projects/Superalgos/Bots-Plotters-Code/Masters/plotters/Plotters-Candles-Volumes/Candles.js b/Projects/Superalgos/Bots-Plotters-Code/Masters/plotters/Plotters-Candles-Volumes/Candles.js index 46aba26b6..3994dcabd 100644 --- a/Projects/Superalgos/Bots-Plotters-Code/Masters/plotters/Plotters-Candles-Volumes/Candles.js +++ b/Projects/Superalgos/Bots-Plotters-Code/Masters/plotters/Plotters-Candles-Volumes/Candles.js @@ -4,7 +4,7 @@ const ERROR_LOG = true; const INTENSIVE_LOG = false; const logger = newWebDebugLog(); - logger.fileName = MODULE_NAME; + let thisObject = { initialize: initialize, diff --git a/Projects/Superalgos/Bots-Plotters-Code/Masters/plotters/Plotters-Candles-Volumes/Volumes.js b/Projects/Superalgos/Bots-Plotters-Code/Masters/plotters/Plotters-Candles-Volumes/Volumes.js index cf5691eee..63dfd0e4d 100644 --- a/Projects/Superalgos/Bots-Plotters-Code/Masters/plotters/Plotters-Candles-Volumes/Volumes.js +++ b/Projects/Superalgos/Bots-Plotters-Code/Masters/plotters/Plotters-Candles-Volumes/Volumes.js @@ -4,7 +4,7 @@ const ERROR_LOG = true; const INTENSIVE_LOG = false; const logger = newWebDebugLog(); - logger.fileName = MODULE_NAME; + let thisObject = { diff --git a/Projects/Superalgos/TS/Function-Libraries/LoggerFunctions.js b/Projects/Superalgos/TS/Function-Libraries/LoggerFunctions.js new file mode 100644 index 000000000..e69de29bb diff --git a/Projects/Superalgos/TS/Function-Libraries/SessionFunctions.js b/Projects/Superalgos/TS/Function-Libraries/SessionFunctions.js index 3351d938c..f93bfcfe0 100644 --- a/Projects/Superalgos/TS/Function-Libraries/SessionFunctions.js +++ b/Projects/Superalgos/TS/Function-Libraries/SessionFunctions.js @@ -58,7 +58,7 @@ exports.newSuperalgosFunctionLibrariesSessionFunctions = function () { } } - function sessionError(processIndex, node, errorMessage, logger) { + function sessionError(processIndex, node, errorMessage) { let event if (node !== undefined) { event = { @@ -76,13 +76,11 @@ exports.newSuperalgosFunctionLibrariesSessionFunctions = function () { if (TS.projects.superalgos.globals.taskVariables.IS_TASK_STOPPING === true) { TS.projects.superalgos.globals.processVariables.VARIABLES_BY_PROCESS_INDEX_MAP.get(processIndex).IS_SESSION_STOPPING = true - if (logger !== undefined) { - logger.write(MODULE_NAME, '[IMPORTANT] sessionError -> Stopping the Session now. ') - } + TS.projects.superalgos.globals.loggerVariables.VARIABLES_BY_PROCESS_INDEX_MAP.get(processIndex).PROCESS_INSTANCE_LOGGER_MODULE.write(MODULE_NAME, '[IMPORTANT] sessionError -> Stopping the Session now. ') } } - function sessionWarning(processIndex, node, warningMessage, logger) { + function sessionWarning(processIndex, node, warningMessage) { let event if (node !== undefined) { event = { @@ -100,13 +98,11 @@ exports.newSuperalgosFunctionLibrariesSessionFunctions = function () { if (TS.projects.superalgos.globals.taskVariables.IS_TASK_STOPPING === true) { TS.projects.superalgos.globals.processVariables.VARIABLES_BY_PROCESS_INDEX_MAP.get(processIndex).IS_SESSION_STOPPING = true - if (logger !== undefined) { - logger.write(MODULE_NAME, '[IMPORTANT] sessionWarning -> Stopping the Session now. ') - } + TS.projects.superalgos.globals.loggerVariables.VARIABLES_BY_PROCESS_INDEX_MAP.get(processIndex).PROCESS_INSTANCE_LOGGER_MODULE.write(MODULE_NAME, '[IMPORTANT] sessionWarning -> Stopping the Session now. ') } } - function sessionInfo(processIndex, node, infoMessage, logger) { + function sessionInfo(processIndex, node, infoMessage) { let event if (node !== undefined) { event = { @@ -124,9 +120,7 @@ exports.newSuperalgosFunctionLibrariesSessionFunctions = function () { if (TS.projects.superalgos.globals.taskVariables.IS_TASK_STOPPING === true) { TS.projects.superalgos.globals.processVariables.VARIABLES_BY_PROCESS_INDEX_MAP.get(processIndex).IS_SESSION_STOPPING = true - if (logger !== undefined) { - logger.write(MODULE_NAME, '[IMPORTANT] sessionInfo -> Stopping the Session now. ') - } + TS.projects.superalgos.globals.loggerVariables.VARIABLES_BY_PROCESS_INDEX_MAP.get(processIndex).PROCESS_INSTANCE_LOGGER_MODULE.write(MODULE_NAME, '[IMPORTANT] sessionInfo -> Stopping the Session now. ') } } diff --git a/Projects/Superalgos/TS/Globals/LoggerVariables.js b/Projects/Superalgos/TS/Globals/LoggerVariables.js index b4b041dbf..651f1d965 100644 --- a/Projects/Superalgos/TS/Globals/LoggerVariables.js +++ b/Projects/Superalgos/TS/Globals/LoggerVariables.js @@ -1,7 +1,17 @@ exports.newSuperalgosGlobalsLoggerVariables = function () { let thisObject = { - DELETE_QUEUE_SIZE: 10 + DELETE_QUEUE_SIZE: 10, + VARIABLES_BY_PROCESS_INDEX_MAP: new Map() } + /* + VARIABLES_BY_PROCESS_INDEX_MAP + + For each processIndex we will keep here the following variables. + + PROCESS_INSTANCE_LOGGER_MODULE This is the logger module used by the process instance. + BOT_MAIN_LOOP_LOGGER_MODULE This is the logger module instantiated at every main loop and used at downstream modules. + + */ return thisObject } \ No newline at end of file diff --git a/Projects/Superalgos/UI/Function-Libraries/NodeCloning.js b/Projects/Superalgos/UI/Function-Libraries/NodeCloning.js index f9c820fef..1be5585ad 100644 --- a/Projects/Superalgos/UI/Function-Libraries/NodeCloning.js +++ b/Projects/Superalgos/UI/Function-Libraries/NodeCloning.js @@ -2,7 +2,7 @@ function newSuperalgosFunctionLibraryNodeCloning() { const MODULE_NAME = 'Node Cloning' const ERROR_LOG = true const logger = newWebDebugLog() - logger.fileName = MODULE_NAME + thisObject = { getNodeClone: getNodeClone diff --git a/Projects/Superalgos/UI/Function-Libraries/ProtocolNode.js b/Projects/Superalgos/UI/Function-Libraries/ProtocolNode.js index cf351d5a5..9e2f7b91d 100644 --- a/Projects/Superalgos/UI/Function-Libraries/ProtocolNode.js +++ b/Projects/Superalgos/UI/Function-Libraries/ProtocolNode.js @@ -2,7 +2,7 @@ function newSuperalgosFunctionLibraryProtocolNode() { const MODULE_NAME = 'Protocol Node' const ERROR_LOG = true const logger = newWebDebugLog() - logger.fileName = MODULE_NAME + thisObject = { getProtocolNode: getProtocolNode diff --git a/Projects/Superalgos/UI/Spaces/Charting-Space/ChartingSpace.js b/Projects/Superalgos/UI/Spaces/Charting-Space/ChartingSpace.js index 3679705dc..ed417bd02 100644 --- a/Projects/Superalgos/UI/Spaces/Charting-Space/ChartingSpace.js +++ b/Projects/Superalgos/UI/Spaces/Charting-Space/ChartingSpace.js @@ -10,7 +10,7 @@ function newSuperalgosChartingSpace() { const MODULE_NAME = 'Charting Space' const ERROR_LOG = true const logger = newWebDebugLog() - logger.fileName = MODULE_NAME + let thisObject = { visible: false, diff --git a/Projects/Superalgos/UI/Spaces/Charting-Space/PlottersManager.js b/Projects/Superalgos/UI/Spaces/Charting-Space/PlottersManager.js index 6f86fe4e1..0a485f199 100644 --- a/Projects/Superalgos/UI/Spaces/Charting-Space/PlottersManager.js +++ b/Projects/Superalgos/UI/Spaces/Charting-Space/PlottersManager.js @@ -2,7 +2,7 @@ function newPlottersManager() { const MODULE_NAME = 'Plotters Manager' const ERROR_LOG = true const logger = newWebDebugLog() - logger.fileName = MODULE_NAME + let timeFrame = INITIAL_TIME_PERIOD let datetime = NEW_SESSION_INITIAL_DATE diff --git a/Projects/Superalgos/UI/Spaces/Charting-Space/Plotting/NodesAnnouncements.js b/Projects/Superalgos/UI/Spaces/Charting-Space/Plotting/NodesAnnouncements.js index b248a90da..f7226dff0 100644 --- a/Projects/Superalgos/UI/Spaces/Charting-Space/Plotting/NodesAnnouncements.js +++ b/Projects/Superalgos/UI/Spaces/Charting-Space/Plotting/NodesAnnouncements.js @@ -1,7 +1,7 @@ function newNodesAnnouncements() { const MODULE_NAME = 'Nodes Announcements' const logger = newWebDebugLog() - logger.fileName = MODULE_NAME + let thisObject = { onRecordChange: onRecordChange, diff --git a/Projects/Superalgos/UI/Spaces/Charting-Space/Plotting/NodesErrors.js b/Projects/Superalgos/UI/Spaces/Charting-Space/Plotting/NodesErrors.js index 098a26d00..6d4bfec67 100644 --- a/Projects/Superalgos/UI/Spaces/Charting-Space/Plotting/NodesErrors.js +++ b/Projects/Superalgos/UI/Spaces/Charting-Space/Plotting/NodesErrors.js @@ -1,7 +1,7 @@ function newNodesErrors() { const MODULE_NAME = 'Nodes Errors' const logger = newWebDebugLog() - logger.fileName = MODULE_NAME + let thisObject = { onRecordChange: onRecordChange, diff --git a/Projects/Superalgos/UI/Spaces/Charting-Space/Plotting/NodesHighlights.js b/Projects/Superalgos/UI/Spaces/Charting-Space/Plotting/NodesHighlights.js index c0af60ae9..daaaacbf4 100644 --- a/Projects/Superalgos/UI/Spaces/Charting-Space/Plotting/NodesHighlights.js +++ b/Projects/Superalgos/UI/Spaces/Charting-Space/Plotting/NodesHighlights.js @@ -1,7 +1,7 @@ function newNodesHighlights() { const MODULE_NAME = 'Nodes Highlights' const logger = newWebDebugLog() - logger.fileName = MODULE_NAME + let thisObject = { onRecordChange: onRecordChange, diff --git a/Projects/Superalgos/UI/Spaces/Charting-Space/Plotting/NodesInfos.js b/Projects/Superalgos/UI/Spaces/Charting-Space/Plotting/NodesInfos.js index 10311af4e..8d8d05530 100644 --- a/Projects/Superalgos/UI/Spaces/Charting-Space/Plotting/NodesInfos.js +++ b/Projects/Superalgos/UI/Spaces/Charting-Space/Plotting/NodesInfos.js @@ -1,7 +1,7 @@ function newNodesInfos() { const MODULE_NAME = 'Nodes Infos' const logger = newWebDebugLog() - logger.fileName = MODULE_NAME + let thisObject = { onRecordChange: onRecordChange, diff --git a/Projects/Superalgos/UI/Spaces/Charting-Space/Plotting/NodesProgress.js b/Projects/Superalgos/UI/Spaces/Charting-Space/Plotting/NodesProgress.js index dc9b28ccd..f9a9d7085 100644 --- a/Projects/Superalgos/UI/Spaces/Charting-Space/Plotting/NodesProgress.js +++ b/Projects/Superalgos/UI/Spaces/Charting-Space/Plotting/NodesProgress.js @@ -1,7 +1,7 @@ function newNodesProgress() { const MODULE_NAME = 'Nodes Progress' const logger = newWebDebugLog() - logger.fileName = MODULE_NAME + let thisObject = { onRecordChange: onRecordChange, diff --git a/Projects/Superalgos/UI/Spaces/Charting-Space/Plotting/NodesRunning.js b/Projects/Superalgos/UI/Spaces/Charting-Space/Plotting/NodesRunning.js index 421129566..b8944222b 100644 --- a/Projects/Superalgos/UI/Spaces/Charting-Space/Plotting/NodesRunning.js +++ b/Projects/Superalgos/UI/Spaces/Charting-Space/Plotting/NodesRunning.js @@ -1,7 +1,7 @@ function newNodesRunning() { const MODULE_NAME = 'Nodes Running' const logger = newWebDebugLog() - logger.fileName = MODULE_NAME + let thisObject = { onRecordChange: onRecordChange, diff --git a/Projects/Superalgos/UI/Spaces/Charting-Space/Plotting/NodesStatus.js b/Projects/Superalgos/UI/Spaces/Charting-Space/Plotting/NodesStatus.js index 8cb51b1b2..de07c4bb9 100644 --- a/Projects/Superalgos/UI/Spaces/Charting-Space/Plotting/NodesStatus.js +++ b/Projects/Superalgos/UI/Spaces/Charting-Space/Plotting/NodesStatus.js @@ -1,7 +1,7 @@ function newNodesStatus() { const MODULE_NAME = 'Nodes Status' const logger = newWebDebugLog() - logger.fileName = MODULE_NAME + let thisObject = { onRecordChange: onRecordChange, diff --git a/Projects/Superalgos/UI/Spaces/Charting-Space/Plotting/NodesValues.js b/Projects/Superalgos/UI/Spaces/Charting-Space/Plotting/NodesValues.js index 8ff0910b3..abd2e1a40 100644 --- a/Projects/Superalgos/UI/Spaces/Charting-Space/Plotting/NodesValues.js +++ b/Projects/Superalgos/UI/Spaces/Charting-Space/Plotting/NodesValues.js @@ -1,7 +1,7 @@ function newNodesValues() { const MODULE_NAME = 'Nodes Values' const logger = newWebDebugLog() - logger.fileName = MODULE_NAME + let thisObject = { onRecordChange: onRecordChange, diff --git a/Projects/Superalgos/UI/Spaces/Charting-Space/Plotting/NodesWarnings.js b/Projects/Superalgos/UI/Spaces/Charting-Space/Plotting/NodesWarnings.js index 56d09904f..8f505607f 100644 --- a/Projects/Superalgos/UI/Spaces/Charting-Space/Plotting/NodesWarnings.js +++ b/Projects/Superalgos/UI/Spaces/Charting-Space/Plotting/NodesWarnings.js @@ -1,7 +1,7 @@ function newNodesWarnings() { const MODULE_NAME = 'Nodes Warnings' const logger = newWebDebugLog() - logger.fileName = MODULE_NAME + let thisObject = { onRecordChange: onRecordChange, diff --git a/Projects/Superalgos/UI/Spaces/Charting-Space/Plotting/Plotter.js b/Projects/Superalgos/UI/Spaces/Charting-Space/Plotting/Plotter.js index 7b2690b6e..1060b769e 100644 --- a/Projects/Superalgos/UI/Spaces/Charting-Space/Plotting/Plotter.js +++ b/Projects/Superalgos/UI/Spaces/Charting-Space/Plotting/Plotter.js @@ -2,7 +2,7 @@ function newPlotter() { const MODULE_NAME = 'Plotter' const ERROR_LOG = true const logger = newWebDebugLog() - logger.fileName = MODULE_NAME + let thisObject = { currentRecord: undefined, diff --git a/Projects/Superalgos/UI/Spaces/Charting-Space/Plotting/RecordValues.js b/Projects/Superalgos/UI/Spaces/Charting-Space/Plotting/RecordValues.js index 7633119b7..7d330c90e 100644 --- a/Projects/Superalgos/UI/Spaces/Charting-Space/Plotting/RecordValues.js +++ b/Projects/Superalgos/UI/Spaces/Charting-Space/Plotting/RecordValues.js @@ -1,7 +1,7 @@ function newRecordValues() { const MODULE_NAME = 'Record Values' const logger = newWebDebugLog() - logger.fileName = MODULE_NAME + let thisObject = { onRecordChange: onRecordChange, diff --git a/Projects/Superalgos/UI/Spaces/Charting-Space/TimeMachine.js b/Projects/Superalgos/UI/Spaces/Charting-Space/TimeMachine.js index d3bd505de..2a03bb759 100644 --- a/Projects/Superalgos/UI/Spaces/Charting-Space/TimeMachine.js +++ b/Projects/Superalgos/UI/Spaces/Charting-Space/TimeMachine.js @@ -12,7 +12,7 @@ each one with it own timelineCharts, and each one positioned at an especific poi function newTimeMachine() { const MODULE_NAME = 'Time Machine' const logger = newWebDebugLog() - logger.fileName = MODULE_NAME + let timeFrame = INITIAL_TIME_PERIOD diff --git a/Projects/Superalgos/UI/Spaces/Charting-Space/TimelineChart.js b/Projects/Superalgos/UI/Spaces/Charting-Space/TimelineChart.js index 6ad4163c0..9accf6844 100644 --- a/Projects/Superalgos/UI/Spaces/Charting-Space/TimelineChart.js +++ b/Projects/Superalgos/UI/Spaces/Charting-Space/TimelineChart.js @@ -2,7 +2,7 @@ function newTimelineChart() { const MODULE_NAME = 'Timeline Chart' let logger = newWebDebugLog() - logger.fileName = MODULE_NAME + let timeFrame = INITIAL_TIME_PERIOD let datetime = NEW_SESSION_INITIAL_DATE diff --git a/Projects/Superalgos/UI/Spaces/Design-Space/Workspace.js b/Projects/Superalgos/UI/Spaces/Design-Space/Workspace.js index cbe241310..c2cab9ccd 100644 --- a/Projects/Superalgos/UI/Spaces/Design-Space/Workspace.js +++ b/Projects/Superalgos/UI/Spaces/Design-Space/Workspace.js @@ -3,7 +3,7 @@ function newWorkspace() { const MODULE_NAME = 'Workspace' const ERROR_LOG = true const logger = newWebDebugLog() - logger.fileName = MODULE_NAME + let thisObject = { workspaceNode: undefined, diff --git a/Projects/Superalgos/UI/Spaces/Floating-Space/FloatingLayer.js b/Projects/Superalgos/UI/Spaces/Floating-Space/FloatingLayer.js index d35a23697..fe4400c63 100644 --- a/Projects/Superalgos/UI/Spaces/Floating-Space/FloatingLayer.js +++ b/Projects/Superalgos/UI/Spaces/Floating-Space/FloatingLayer.js @@ -17,7 +17,7 @@ function newFloatingLayer() { const MODULE_NAME = 'Floating Layer' const ERROR_LOG = true const logger = newWebDebugLog() - logger.fileName = MODULE_NAME + let thisObject = { addFloatingObject: addFloatingObject, diff --git a/Projects/Superalgos/UI/Spaces/Floating-Space/FloatingObject.js b/Projects/Superalgos/UI/Spaces/Floating-Space/FloatingObject.js index 6ec2ca682..2aebe4502 100644 --- a/Projects/Superalgos/UI/Spaces/Floating-Space/FloatingObject.js +++ b/Projects/Superalgos/UI/Spaces/Floating-Space/FloatingObject.js @@ -4,7 +4,7 @@ function newFloatingObject() { const ERROR_LOG = true const logger = newWebDebugLog() - logger.fileName = MODULE_NAME + let thisObject = { fitFunction: undefined, diff --git a/Projects/Superalgos/UI/Spaces/Floating-Space/UiObject.js b/Projects/Superalgos/UI/Spaces/Floating-Space/UiObject.js index 67014d995..af2da374c 100644 --- a/Projects/Superalgos/UI/Spaces/Floating-Space/UiObject.js +++ b/Projects/Superalgos/UI/Spaces/Floating-Space/UiObject.js @@ -4,7 +4,7 @@ function newUiObject() { const ERROR_LOG = true const logger = newWebDebugLog() - logger.fileName = MODULE_NAME + let thisObject = { fitFunction: undefined, diff --git a/Projects/Superalgos/UI/Spaces/Floating-Space/UiObjectConstructor.js b/Projects/Superalgos/UI/Spaces/Floating-Space/UiObjectConstructor.js index 914e93cce..7180845ba 100644 --- a/Projects/Superalgos/UI/Spaces/Floating-Space/UiObjectConstructor.js +++ b/Projects/Superalgos/UI/Spaces/Floating-Space/UiObjectConstructor.js @@ -3,7 +3,7 @@ function newUiObjectConstructor() { const MODULE_NAME = 'UI Object Constructor' const ERROR_LOG = true const logger = newWebDebugLog() - logger.fileName = MODULE_NAME + let thisObject = { createUiObject: createUiObject, diff --git a/Projects/Superalgos/UI/Spaces/Floating-Space/UiObjectTitle.js b/Projects/Superalgos/UI/Spaces/Floating-Space/UiObjectTitle.js index 31ddad641..7e9dba320 100644 --- a/Projects/Superalgos/UI/Spaces/Floating-Space/UiObjectTitle.js +++ b/Projects/Superalgos/UI/Spaces/Floating-Space/UiObjectTitle.js @@ -4,7 +4,7 @@ function newUiObjectTitle() { const ERROR_LOG = true const logger = newWebDebugLog() - logger.fileName = MODULE_NAME + let thisObject = { fitFunction: undefined, diff --git a/Projects/Superalgos/UI/Spaces/Panel-Space/Layer.js b/Projects/Superalgos/UI/Spaces/Panel-Space/Layer.js index 7f10383ac..560ba0890 100644 --- a/Projects/Superalgos/UI/Spaces/Panel-Space/Layer.js +++ b/Projects/Superalgos/UI/Spaces/Panel-Space/Layer.js @@ -2,7 +2,7 @@ function newLayer() { const MODULE_NAME = 'Layer' const ERROR_LOG = true const logger = newWebDebugLog() - logger.fileName = MODULE_NAME + let thisObject = { container: undefined, diff --git a/Projects/Superalgos/UI/Spaces/Panel-Space/PlotterPanel.js b/Projects/Superalgos/UI/Spaces/Panel-Space/PlotterPanel.js index 5cfe5b9be..9d8b54ddc 100644 --- a/Projects/Superalgos/UI/Spaces/Panel-Space/PlotterPanel.js +++ b/Projects/Superalgos/UI/Spaces/Panel-Space/PlotterPanel.js @@ -3,7 +3,7 @@ function newPlotterPanel() { const MODULE_NAME = 'Plotter Panel' const ERROR_LOG = true const logger = newWebDebugLog() - logger.fileName = MODULE_NAME + let thisObject = { fitFunction: undefined, diff --git a/Projects/Superalgos/UI/Spaces/Side-Space/ListItem.js b/Projects/Superalgos/UI/Spaces/Side-Space/ListItem.js index a79306b39..e2448e0ea 100644 --- a/Projects/Superalgos/UI/Spaces/Side-Space/ListItem.js +++ b/Projects/Superalgos/UI/Spaces/Side-Space/ListItem.js @@ -2,7 +2,7 @@ function newListItem() { const MODULE_NAME = 'List Item' const ERROR_LOG = true const logger = newWebDebugLog() - logger.fileName = MODULE_NAME + let thisObject = { container: undefined, diff --git a/Projects/Superalgos/UI/Spaces/Side-Space/ListView.js b/Projects/Superalgos/UI/Spaces/Side-Space/ListView.js index 15f085c08..ccc80a48e 100644 --- a/Projects/Superalgos/UI/Spaces/Side-Space/ListView.js +++ b/Projects/Superalgos/UI/Spaces/Side-Space/ListView.js @@ -2,7 +2,7 @@ function newListView() { const MODULE_NAME = 'List View' const ERROR_LOG = true const logger = newWebDebugLog() - logger.fileName = MODULE_NAME + let thisObject = { fitFunction: undefined, diff --git a/TaskServer/DataSet.js b/TaskServer/DataSet.js index fa8bb8be4..53418febd 100644 --- a/TaskServer/DataSet.js +++ b/TaskServer/DataSet.js @@ -22,7 +22,7 @@ exports.newDataSet = function (processIndex, logger) { try { thisObject.node = dataDependency.referenceParent; - logger.fileName = MODULE_NAME + /* Some very basic validations that we have all the information needed. */ if (thisObject.node === undefined) { @@ -31,8 +31,6 @@ exports.newDataSet = function (processIndex, logger) { return } - logger.fileName = MODULE_NAME + "." + thisObject.node.type + "." + thisObject.node.name + "." + thisObject.node.id; - if (thisObject.node.config.codeName === undefined) { logger.write(MODULE_NAME, "[ERROR] initialize -> Dataset witn no codeName defined -> Product Dataset = " + JSON.stringify(thisObject.node)); callBackFunction(TS.projects.superalgos.globals.standardResponses.DEFAULT_FAIL_RESPONSE); diff --git a/TaskServer/DebugLog.js b/TaskServer/DebugLog.js index a363a173d..a1892f3b6 100644 --- a/TaskServer/DebugLog.js +++ b/TaskServer/DebugLog.js @@ -16,27 +16,14 @@ exports.newDebugLog = function (processIndex) { newMainLoop: newMainLoop, newInternalLoop: newInternalLoop, persist: persist, // This method is executed at the end of each Main Loop. - initialize: initialize, finalize: finalize }; let accumulatedLog = "["; - let disableLogging; let internalLoopCounter = -1; return thisObject; - function initialize(pdisableLogging) { - - try { - - disableLogging = pdisableLogging - - } catch (err) { - console.log("[ERROR] Debug Log -> initialize -> err = " + err.stack); - } - } - function finalize() { persist() } @@ -168,8 +155,6 @@ exports.newDebugLog = function (processIndex) { function write(pModule, pMessage) { try { - if (disableLogging === true) { return; } - if (pModule === "") { // For debugging purposes console.log(pMessage) } diff --git a/TaskServer/IndicatorBot.js b/TaskServer/IndicatorBot.js index 73a9eb068..51e7aa864 100644 --- a/TaskServer/IndicatorBot.js +++ b/TaskServer/IndicatorBot.js @@ -1,4 +1,4 @@ -exports.newIndicatorBot = function newIndicatorBot(processIndex, parentLogger) { +exports.newIndicatorBot = function newIndicatorBot(processIndex) { const MODULE_NAME = "Indicator Bot"; @@ -8,7 +8,7 @@ const MULTI_PERIOD_MARKET = require(TS.projects.superalgos.globals.nodeJSConstants.REQUIRE_ROOT_DIR + 'MultiPeriodMarket'); const MULTI_PERIOD_DAILY = require(TS.projects.superalgos.globals.nodeJSConstants.REQUIRE_ROOT_DIR + 'MultiPeriodDaily'); const FILE_STORAGE = require('./FileStorage.js'); - let fileStorage = FILE_STORAGE.newFileStorage(parentLogger); + let fileStorage = FILE_STORAGE.newFileStorage(TS.projects.superalgos.globals.loggerVariables.VARIABLES_BY_PROCESS_INDEX_MAP.get(processIndex).PROCESS_INSTANCE_LOGGER_MODULE); const DEBUG_MODULE = require(TS.projects.superalgos.globals.nodeJSConstants.REQUIRE_ROOT_DIR + 'DebugLog'); let logger; // We need this here in order for the loopHealth function to work and be able to rescue the loop when it gets in trouble. @@ -50,8 +50,8 @@ if (err.result !== TS.projects.superalgos.globals.standardResponses.DEFAULT_OK_RESPONSE.result) { - parentLogger.write(MODULE_NAME, "[ERROR] initialize -> onInizialized -> onBotDownloaded -> err = " + err.message); - parentLogger.write(MODULE_NAME, "[ERROR] initialize -> onInizialized -> onBotDownloaded -> filePath = " + filePath); + TS.projects.superalgos.globals.loggerVariables.VARIABLES_BY_PROCESS_INDEX_MAP.get(processIndex).PROCESS_INSTANCE_LOGGER_MODULE.write(MODULE_NAME, "[ERROR] initialize -> onInizialized -> onBotDownloaded -> err = " + err.message); + TS.projects.superalgos.globals.loggerVariables.VARIABLES_BY_PROCESS_INDEX_MAP.get(processIndex).PROCESS_INSTANCE_LOGGER_MODULE.write(MODULE_NAME, "[ERROR] initialize -> onInizialized -> onBotDownloaded -> filePath = " + filePath); callBackFunction(TS.projects.superalgos.globals.standardResponses.DEFAULT_FAIL_RESPONSE); return; } @@ -66,7 +66,7 @@ function onCommonsDownloaded(err, text) { if (err.result !== TS.projects.superalgos.globals.standardResponses.DEFAULT_OK_RESPONSE.result) { - parentLogger.write(MODULE_NAME, "[WARN] initialize -> onBotDownloaded -> onCommonsDownloaded -> Commons not found: " + err.message); + TS.projects.superalgos.globals.loggerVariables.VARIABLES_BY_PROCESS_INDEX_MAP.get(processIndex).PROCESS_INSTANCE_LOGGER_MODULE.write(MODULE_NAME, "[WARN] initialize -> onBotDownloaded -> onCommonsDownloaded -> Commons not found: " + err.message); callBackFunction(TS.projects.superalgos.globals.standardResponses.DEFAULT_OK_RESPONSE); return; } @@ -77,7 +77,7 @@ } } } catch (err) { - parentLogger.write(MODULE_NAME, "[ERROR] initialize -> err = " + err.stack); + TS.projects.superalgos.globals.loggerVariables.VARIABLES_BY_PROCESS_INDEX_MAP.get(processIndex).PROCESS_INSTANCE_LOGGER_MODULE.write(MODULE_NAME, "[ERROR] initialize -> err = " + err.stack); callBackFunction(TS.projects.superalgos.globals.standardResponses.DEFAULT_FAIL_RESPONSE); } } @@ -99,7 +99,6 @@ } logger = DEBUG_MODULE.newDebugLog(processIndex); TS.projects.superalgos.globals.taskVariables.LOGGER_MAP.set(MODULE_NAME + TS.projects.superalgos.globals.taskConstants.TASK_NODE.bot.processes[processIndex].id, logger) - logger.initialize(); TS.projects.superalgos.globals.processVariables.VARIABLES_BY_PROCESS_INDEX_MAP.get(processIndex).MAIN_LOOP_COUNTER++; @@ -734,7 +733,7 @@ } } } catch (err) { - parentLogger.write(MODULE_NAME, "[ERROR] run -> loop -> err = " + err.stack); + TS.projects.superalgos.globals.loggerVariables.VARIABLES_BY_PROCESS_INDEX_MAP.get(processIndex).PROCESS_INSTANCE_LOGGER_MODULE.write(MODULE_NAME, "[ERROR] run -> loop -> err = " + err.stack); global.unexpectedError = err.message processStopped() return @@ -757,7 +756,7 @@ } } catch (err) { - parentLogger.write(MODULE_NAME, "[ERROR] run -> err = " + err.stack); + TS.projects.superalgos.globals.loggerVariables.VARIABLES_BY_PROCESS_INDEX_MAP.get(processIndex).PROCESS_INSTANCE_LOGGER_MODULE.write(MODULE_NAME, "[ERROR] run -> err = " + err.stack); clearTimeout(nextLoopTimeoutHandle); callBackFunction(TS.projects.superalgos.globals.standardResponses.DEFAULT_FAIL_RESPONSE); } diff --git a/TaskServer/IndicatorOutput.js b/TaskServer/IndicatorOutput.js index 4a5ce2761..80acd33f6 100644 --- a/TaskServer/IndicatorOutput.js +++ b/TaskServer/IndicatorOutput.js @@ -24,8 +24,8 @@ function initialize(callBackFunction) { try { - logger.fileName = MODULE_NAME; - logger.initialize(); + + callBackFunction(TS.projects.superalgos.globals.standardResponses.DEFAULT_OK_RESPONSE); diff --git a/TaskServer/LowFrequencyTrading/TradingProcess.js b/TaskServer/LowFrequencyTrading/TradingProcess.js index f74f92263..0a39d37c4 100644 --- a/TaskServer/LowFrequencyTrading/TradingProcess.js +++ b/TaskServer/LowFrequencyTrading/TradingProcess.js @@ -35,8 +35,8 @@ function initialize(pProcessConfig, pStatusDependencies, pDataDependencies, callBackFunction) { try { - logger.fileName = MODULE_NAME - logger.initialize() + + statusDependencies = pStatusDependencies dataDependenciesModule = pDataDependencies diff --git a/TaskServer/MultiPeriodDaily.js b/TaskServer/MultiPeriodDaily.js index b34789aa2..dc21af89a 100644 --- a/TaskServer/MultiPeriodDaily.js +++ b/TaskServer/MultiPeriodDaily.js @@ -24,8 +24,8 @@ return thisObject; function initialize(pProcessConfig, pStatusDependencies, pDataDependencies, callBackFunction) { - logger.fileName = MODULE_NAME; - logger.initialize() + + statusDependencies = pStatusDependencies; dataDependenciesModule = pDataDependencies; diff --git a/TaskServer/MultiPeriodMarket.js b/TaskServer/MultiPeriodMarket.js index 9a8de46c2..8c1275f5a 100644 --- a/TaskServer/MultiPeriodMarket.js +++ b/TaskServer/MultiPeriodMarket.js @@ -18,8 +18,8 @@ return thisObject; function initialize(pProcessConfig, pStatusDependencies, pDataDependencies, callBackFunction) { - logger.fileName = MODULE_NAME; - logger.initialize() + + statusDependencies = pStatusDependencies; dataDependenciesModule = pDataDependencies; diff --git a/TaskServer/ProcessExecutionEvents.js b/TaskServer/ProcessExecutionEvents.js index 806f3bd6f..bdfb4b8da 100644 --- a/TaskServer/ProcessExecutionEvents.js +++ b/TaskServer/ProcessExecutionEvents.js @@ -5,7 +5,7 @@ of another process. */ const MODULE_NAME = "Process Execution Events"; - logger.fileName = MODULE_NAME + let thisObject = { networkNode: undefined, @@ -26,7 +26,6 @@ function initialize(processConfig, callBackFunction) { try { let name = 'Not Depends on any Process' - logger.fileName = MODULE_NAME + "." + name; if (TS.projects.superalgos.globals.taskConstants.TASK_NODE.bot.processes[processIndex].referenceParent === undefined) { callBackFunction(TS.projects.superalgos.globals.standardResponses.DEFAULT_FAIL_RESPONSE); diff --git a/TaskServer/ProcessInstance.js b/TaskServer/ProcessInstance.js index 4c02366e1..0e88a42ad 100644 --- a/TaskServer/ProcessInstance.js +++ b/TaskServer/ProcessInstance.js @@ -24,18 +24,21 @@ let botConfig = TS.projects.superalgos.globals.taskConstants.TASK_NODE.bot.processes[processIndex].referenceParent.parentNode.config let processConfig = TS.projects.superalgos.globals.taskConstants.TASK_NODE.bot.processes[processIndex].referenceParent.config + let VARIABLES_BY_PROCESS_INDEX /* - We will use a logger for what happens before and after the bot main loop. We will add the process - id to its key so that it is unique and it can later be finalized. + We will use a logger for what happens before and after the bot main loop. */ - let logger = DEBUG_MODULE.newDebugLog(processIndex) - TS.projects.superalgos.globals.taskVariables.LOGGER_MAP.set('Pre-Bot-Main-Loop' + TS.projects.superalgos.globals.taskConstants.TASK_NODE.bot.processes[processIndex].id, logger) - + VARIABLES_BY_PROCESS_INDEX = { + PROCESS_INSTANCE_LOGGER_MODULE: DEBUG_MODULE.newDebugLog(processIndex) + } + TS.projects.superalgos.globals.loggerVariables.VARIABLES_BY_PROCESS_INDEX_MAP.set(processIndex, VARIABLES_BY_PROCESS_INDEX) + /* We will add the process id to its key so that it is unique and it can later be finalized. */ + TS.projects.superalgos.globals.taskVariables.LOGGER_MAP.set('Pre-Bot-Main-Loop' + TS.projects.superalgos.globals.taskConstants.TASK_NODE.bot.processes[processIndex].id, TS.projects.superalgos.globals.loggerVariables.VARIABLES_BY_PROCESS_INDEX_MAP.get(processIndex).PROCESS_INSTANCE_LOGGER_MODULE) /* There are a few variables with the scope of the process instance. We will store it here so that it can be accesed from where it is needed. */ - let VARIABLES_BY_PROCESS_INDEX = { + VARIABLES_BY_PROCESS_INDEX = { LOGS_TO_DELETE_QUEUE: [], MAIN_LOOP_COUNTER: 0, PROCESS_KEY: @@ -93,7 +96,7 @@ try { TS.projects.superalgos.globals.processVariables.TOTAL_PROCESS_INSTANCES_CREATED++ - botInstance = SENSOR_BOT.newSensorBot(processIndex, logger); + botInstance = SENSOR_BOT.newSensorBot(processIndex); botInstance.initialize(processConfig, onInitializeReady); } catch (err) { @@ -106,7 +109,7 @@ try { TS.projects.superalgos.globals.processVariables.TOTAL_PROCESS_INSTANCES_CREATED++ - botInstance = INDICATOR_BOT_MODULE.newIndicatorBot(processIndex, logger); + botInstance = INDICATOR_BOT_MODULE.newIndicatorBot(processIndex); botInstance.initialize(processConfig, onInitializeReady); } @@ -120,7 +123,7 @@ try { TS.projects.superalgos.globals.processVariables.TOTAL_PROCESS_INSTANCES_CREATED++ - botInstance = TRADING_BOT_MODULE.newTradingBot(processIndex, logger); + botInstance = TRADING_BOT_MODULE.newTradingBot(processIndex); botInstance.initialize(processConfig, onInitializeReady); } catch (err) { @@ -133,7 +136,7 @@ try { TS.projects.superalgos.globals.processVariables.TOTAL_PROCESS_INSTANCES_CREATED++ - botInstance = TRADING_BOT_MODULE.newLearningBot(processIndex, logger); + botInstance = TRADING_BOT_MODULE.newLearningBot(processIndex); botInstance.initialize(processConfig, onInitializeReady); } catch (err) { @@ -155,28 +158,28 @@ let botId = TS.projects.superalgos.globals.taskConstants.TASK_NODE.bot.processes[processIndex].referenceParent.parentNode.parentNode.config.codeName + "." + botConfig.codeName + "." + TS.projects.superalgos.globals.taskConstants.TASK_NODE.bot.processes[processIndex].referenceParent.config.codeName; if (err.result === TS.projects.superalgos.globals.standardResponses.DEFAULT_OK_RESPONSE.result) { - logger.write(MODULE_NAME, "[INFO] start -> onInitializeReady -> whenStartFinishes -> Bot execution finished sucessfully."); - logger.write(MODULE_NAME, "[INFO] start -> onInitializeReady -> whenStartFinishes -> Bot Id = " + botId); + TS.projects.superalgos.globals.loggerVariables.VARIABLES_BY_PROCESS_INDEX_MAP.get(processIndex).PROCESS_INSTANCE_LOGGER_MODULE.write(MODULE_NAME, "[INFO] start -> onInitializeReady -> whenStartFinishes -> Bot execution finished sucessfully."); + TS.projects.superalgos.globals.loggerVariables.VARIABLES_BY_PROCESS_INDEX_MAP.get(processIndex).PROCESS_INSTANCE_LOGGER_MODULE.write(MODULE_NAME, "[INFO] start -> onInitializeReady -> whenStartFinishes -> Bot Id = " + botId); - logger.persist() + TS.projects.superalgos.globals.loggerVariables.VARIABLES_BY_PROCESS_INDEX_MAP.get(processIndex).PROCESS_INSTANCE_LOGGER_MODULE.persist() } else { - logger.write(MODULE_NAME, "[ERROR] start -> onInitializeReady -> whenStartFinishes -> err = " + err.message); - logger.write(MODULE_NAME, "[ERROR] start -> onInitializeReady -> whenStartFinishes -> Execution will be stopped. "); - logger.write(MODULE_NAME, "[ERROR] start -> onInitializeReady -> whenStartFinishes -> Bye."); - logger.write(MODULE_NAME, "[ERROR] start -> onInitializeReady -> whenStartFinishes -> Bot Id = " + botId); + TS.projects.superalgos.globals.loggerVariables.VARIABLES_BY_PROCESS_INDEX_MAP.get(processIndex).PROCESS_INSTANCE_LOGGER_MODULE.write(MODULE_NAME, "[ERROR] start -> onInitializeReady -> whenStartFinishes -> err = " + err.message); + TS.projects.superalgos.globals.loggerVariables.VARIABLES_BY_PROCESS_INDEX_MAP.get(processIndex).PROCESS_INSTANCE_LOGGER_MODULE.write(MODULE_NAME, "[ERROR] start -> onInitializeReady -> whenStartFinishes -> Execution will be stopped. "); + TS.projects.superalgos.globals.loggerVariables.VARIABLES_BY_PROCESS_INDEX_MAP.get(processIndex).PROCESS_INSTANCE_LOGGER_MODULE.write(MODULE_NAME, "[ERROR] start -> onInitializeReady -> whenStartFinishes -> Bye."); + TS.projects.superalgos.globals.loggerVariables.VARIABLES_BY_PROCESS_INDEX_MAP.get(processIndex).PROCESS_INSTANCE_LOGGER_MODULE.write(MODULE_NAME, "[ERROR] start -> onInitializeReady -> whenStartFinishes -> Bot Id = " + botId); console.log(logDisplace + "Process Instance : [ERROR] start -> onInitializeReady -> whenStartFinishes -> Bot execution was aborted."); - logger.persist() + TS.projects.superalgos.globals.loggerVariables.VARIABLES_BY_PROCESS_INDEX_MAP.get(processIndex).PROCESS_INSTANCE_LOGGER_MODULE.persist() } setTimeout(exitProcessInstance, WAIT_TIME_FOR_ALL_PROCESS_INSTANCES_TO_START) } } else { - logger.write(MODULE_NAME, "[ERROR] start -> onInitializeReady -> err = " + err.message); - logger.write(MODULE_NAME, "[ERROR] start -> onInitializeReady -> Bot will not be started. "); + TS.projects.superalgos.globals.loggerVariables.VARIABLES_BY_PROCESS_INDEX_MAP.get(processIndex).PROCESS_INSTANCE_LOGGER_MODULE.write(MODULE_NAME, "[ERROR] start -> onInitializeReady -> err = " + err.message); + TS.projects.superalgos.globals.loggerVariables.VARIABLES_BY_PROCESS_INDEX_MAP.get(processIndex).PROCESS_INSTANCE_LOGGER_MODULE.write(MODULE_NAME, "[ERROR] start -> onInitializeReady -> Bot will not be started. "); console.log(logDisplace + "Process Instance : [ERROR] start -> onInitializeReady -> err = " + err.message); - logger.persist() + TS.projects.superalgos.globals.loggerVariables.VARIABLES_BY_PROCESS_INDEX_MAP.get(processIndex).PROCESS_INSTANCE_LOGGER_MODULE.persist() setTimeout(exitProcessInstance, WAIT_TIME_FOR_ALL_PROCESS_INSTANCES_TO_START) } } diff --git a/TaskServer/SensorBot.js b/TaskServer/SensorBot.js index 63d1403e5..7f047657a 100644 --- a/TaskServer/SensorBot.js +++ b/TaskServer/SensorBot.js @@ -1,4 +1,4 @@ -exports.newSensorBot = function newSensorBot(processIndex, parentLogger) { +exports.newSensorBot = function newSensorBot(processIndex) { const MODULE_NAME = "Sensor Bot"; @@ -6,7 +6,7 @@ let COMMONS_MODULE; const FILE_STORAGE = require('./FileStorage.js'); - let fileStorage = FILE_STORAGE.newFileStorage(parentLogger); + let fileStorage = FILE_STORAGE.newFileStorage(TS.projects.superalgos.globals.loggerVariables.VARIABLES_BY_PROCESS_INDEX_MAP.get(processIndex).PROCESS_INSTANCE_LOGGER_MODULE); const DEBUG_MODULE = require(TS.projects.superalgos.globals.nodeJSConstants.REQUIRE_ROOT_DIR + 'DebugLog'); let logger; // We need this here in order for the loopHealth function to work and be able to rescue the loop when it gets in trouble. @@ -47,8 +47,8 @@ function onBotDownloaded(err, text) { if (err.result !== TS.projects.superalgos.globals.standardResponses.DEFAULT_OK_RESPONSE.result) { - parentLogger.write(MODULE_NAME, "[ERROR] initialize -> onInizialized -> onBotDownloaded -> err = " + err.message); - parentLogger.write(MODULE_NAME, "[ERROR] initialize -> onInizialized -> onBotDownloaded -> filePath = " + filePath); + TS.projects.superalgos.globals.loggerVariables.VARIABLES_BY_PROCESS_INDEX_MAP.get(processIndex).PROCESS_INSTANCE_LOGGER_MODULE.write(MODULE_NAME, "[ERROR] initialize -> onInizialized -> onBotDownloaded -> err = " + err.message); + TS.projects.superalgos.globals.loggerVariables.VARIABLES_BY_PROCESS_INDEX_MAP.get(processIndex).PROCESS_INSTANCE_LOGGER_MODULE.write(MODULE_NAME, "[ERROR] initialize -> onInizialized -> onBotDownloaded -> filePath = " + filePath); callBackFunction(TS.projects.superalgos.globals.standardResponses.DEFAULT_FAIL_RESPONSE); return; } @@ -57,7 +57,7 @@ try { USER_BOT_MODULE.newUserBot = eval(text); // TODO This needs to be changed function } catch (err) { - parentLogger.write(MODULE_NAME, "[ERROR] initialize -> onBotDownloaded -> err = " + err.stack); + TS.projects.superalgos.globals.loggerVariables.VARIABLES_BY_PROCESS_INDEX_MAP.get(processIndex).PROCESS_INSTANCE_LOGGER_MODULE.write(MODULE_NAME, "[ERROR] initialize -> onBotDownloaded -> err = " + err.stack); callBackFunction(TS.projects.superalgos.globals.standardResponses.DEFAULT_FAIL_RESPONSE); } @@ -68,7 +68,7 @@ function onCommonsDownloaded(err, text) { if (err.result !== TS.projects.superalgos.globals.standardResponses.DEFAULT_OK_RESPONSE.result) { - parentLogger.write(MODULE_NAME, "[WARN] initialize -> onBotDownloaded -> onCommonsDownloaded -> Commons not found: " + err.message); + TS.projects.superalgos.globals.loggerVariables.VARIABLES_BY_PROCESS_INDEX_MAP.get(processIndex).PROCESS_INSTANCE_LOGGER_MODULE.write(MODULE_NAME, "[WARN] initialize -> onBotDownloaded -> onCommonsDownloaded -> Commons not found: " + err.message); callBackFunction(TS.projects.superalgos.globals.standardResponses.DEFAULT_OK_RESPONSE); return; } @@ -81,7 +81,7 @@ } } catch (err) { - parentLogger.write(MODULE_NAME, "[ERROR] initialize -> err = " + err.stack); + TS.projects.superalgos.globals.loggerVariables.VARIABLES_BY_PROCESS_INDEX_MAP.get(processIndex).PROCESS_INSTANCE_LOGGER_MODULE.write(MODULE_NAME, "[ERROR] initialize -> err = " + err.stack); callBackFunction(TS.projects.superalgos.globals.standardResponses.DEFAULT_FAIL_RESPONSE); } } @@ -104,7 +104,6 @@ } logger = DEBUG_MODULE.newDebugLog(processIndex); TS.projects.superalgos.globals.taskVariables.LOGGER_MAP.set(MODULE_NAME + TS.projects.superalgos.globals.taskConstants.TASK_NODE.bot.processes[processIndex].id, logger) - logger.initialize(); TS.projects.superalgos.globals.processVariables.VARIABLES_BY_PROCESS_INDEX_MAP.get(processIndex).MAIN_LOOP_COUNTER++; @@ -529,7 +528,7 @@ } } catch (err) { - parentLogger.write(MODULE_NAME, "[ERROR] run -> loop -> err = " + err.stack); + TS.projects.superalgos.globals.loggerVariables.VARIABLES_BY_PROCESS_INDEX_MAP.get(processIndex).PROCESS_INSTANCE_LOGGER_MODULE.write(MODULE_NAME, "[ERROR] run -> loop -> err = " + err.stack); global.unexpectedError = err.message processStopped() return @@ -553,7 +552,7 @@ } catch (err) { - parentLogger.write(MODULE_NAME, "[ERROR] run -> err = " + err.stack); + TS.projects.superalgos.globals.loggerVariables.VARIABLES_BY_PROCESS_INDEX_MAP.get(processIndex).PROCESS_INSTANCE_LOGGER_MODULE.write(MODULE_NAME, "[ERROR] run -> err = " + err.stack); clearTimeout(nextLoopTimeoutHandle); callBackFunction(TS.projects.superalgos.globals.standardResponses.DEFAULT_FAIL_RESPONSE); } diff --git a/TaskServer/StatusReport.js b/TaskServer/StatusReport.js index 37df1ab15..9349962d0 100644 --- a/TaskServer/StatusReport.js +++ b/TaskServer/StatusReport.js @@ -40,7 +40,6 @@ function initialize(pStatusDependencyNode, callBackFunction) { try { statusDependencyNode = pStatusDependencyNode; - logger.fileName = MODULE_NAME + "." + statusDependencyNode.type + "." + statusDependencyNode.name + "." + statusDependencyNode.id; /* Some very basic validations that we have all the information needed. */ if (statusDependencyNode.referenceParent === undefined) { diff --git a/TaskServer/TradingBot.js b/TaskServer/TradingBot.js index 23028ef86..a1484705f 100644 --- a/TaskServer/TradingBot.js +++ b/TaskServer/TradingBot.js @@ -1,4 +1,4 @@ -exports.newTradingBot = function newTradingBot(processIndex, parentLogger) { +exports.newTradingBot = function newTradingBot(processIndex) { const MODULE_NAME = "Trading Bot"; const FULL_LOG = true; @@ -7,8 +7,8 @@ const FILE_STORAGE = require('./FileStorage.js'); const SESSION = require(TS.projects.superalgos.globals.nodeJSConstants.REQUIRE_ROOT_DIR + 'TradingSession'); - let fileStorage = FILE_STORAGE.newFileStorage(parentLogger); - let session = SESSION.newTradingSession(processIndex, parentLogger) + let fileStorage = FILE_STORAGE.newFileStorage(TS.projects.superalgos.globals.loggerVariables.VARIABLES_BY_PROCESS_INDEX_MAP.get(processIndex).PROCESS_INSTANCE_LOGGER_MODULE); + let session = SESSION.newTradingSession(processIndex) const DEBUG_MODULE = require(TS.projects.superalgos.globals.nodeJSConstants.REQUIRE_ROOT_DIR + 'DebugLog'); let logger; // We need this here in order for the loopHealth function to work and be able to rescue the loop when it gets in trouble. @@ -34,7 +34,7 @@ } } catch (err) { - parentLogger.write(MODULE_NAME, "[ERROR] initialize -> err = " + err.stack); + TS.projects.superalgos.globals.loggerVariables.VARIABLES_BY_PROCESS_INDEX_MAP.get(processIndex).PROCESS_INSTANCE_LOGGER_MODULE.write(MODULE_NAME, "[ERROR] initialize -> err = " + err.stack); callBackFunction(TS.projects.superalgos.globals.standardResponses.DEFAULT_FAIL_RESPONSE); } } @@ -43,7 +43,7 @@ try { /* Some initial values*/ TS.projects.superalgos.globals.processVariables.VARIABLES_BY_PROCESS_INDEX_MAP.get(processIndex).IS_SESSION_STOPPING = true; - parentLogger.write(MODULE_NAME, '[IMPORTANT] run -> Stopping the Session now. ') + TS.projects.superalgos.globals.loggerVariables.VARIABLES_BY_PROCESS_INDEX_MAP.get(processIndex).PROCESS_INSTANCE_LOGGER_MODULE.write(MODULE_NAME, '[IMPORTANT] run -> Stopping the Session now. ') loop(); @@ -61,7 +61,6 @@ } logger = DEBUG_MODULE.newDebugLog(processIndex); TS.projects.superalgos.globals.taskVariables.LOGGER_MAP.set(MODULE_NAME + TS.projects.superalgos.globals.taskConstants.TASK_NODE.bot.processes[processIndex].id, logger) - logger.initialize(); TS.projects.superalgos.globals.processVariables.VARIABLES_BY_PROCESS_INDEX_MAP.get(processIndex).MAIN_LOOP_COUNTER++; @@ -624,7 +623,7 @@ } } catch (err) { - parentLogger.write(MODULE_NAME, "[ERROR] run -> loop -> err = " + err.stack); + TS.projects.superalgos.globals.loggerVariables.VARIABLES_BY_PROCESS_INDEX_MAP.get(processIndex).PROCESS_INSTANCE_LOGGER_MODULE.write(MODULE_NAME, "[ERROR] run -> loop -> err = " + err.stack); global.unexpectedError = err.message processStopped() return @@ -655,7 +654,7 @@ } } catch (err) { - parentLogger.write(MODULE_NAME, "[ERROR] run -> err = " + err.stack); + TS.projects.superalgos.globals.loggerVariables.VARIABLES_BY_PROCESS_INDEX_MAP.get(processIndex).PROCESS_INSTANCE_LOGGER_MODULE.write(MODULE_NAME, "[ERROR] run -> err = " + err.stack); clearTimeout(nextLoopTimeoutHandle); callBackFunction(TS.projects.superalgos.globals.standardResponses.DEFAULT_FAIL_RESPONSE); } diff --git a/TaskServer/TradingSession.js b/TaskServer/TradingSession.js index 89a9d343d..db03c5d7c 100644 --- a/TaskServer/TradingSession.js +++ b/TaskServer/TradingSession.js @@ -1,4 +1,4 @@ -exports.newTradingSession = function (processIndex, parentLogger) { +exports.newTradingSession = function (processIndex) { const MODULE_NAME = "Trading Session" @@ -7,7 +7,7 @@ } const SOCIAL_BOTS_MODULE = require('./SocialBots.js') - TS.projects.superalgos.globals.processVariables.VARIABLES_BY_PROCESS_INDEX_MAP.get(processIndex).SOCIAL_BOTS_MODULE = SOCIAL_BOTS_MODULE.newSocialBots(processIndex, parentLogger) + TS.projects.superalgos.globals.processVariables.VARIABLES_BY_PROCESS_INDEX_MAP.get(processIndex).SOCIAL_BOTS_MODULE = SOCIAL_BOTS_MODULE.newSocialBots(processIndex) return thisObject; @@ -15,7 +15,7 @@ try { /* Check if there is a session */ if (TS.projects.superalgos.globals.taskConstants.TASK_NODE.bot.processes[processIndex].session === undefined) { - parentLogger.write(MODULE_NAME, "[ERROR] initialize -> Cannot run without a Session."); + TS.projects.superalgos.globals.loggerVariables.VARIABLES_BY_PROCESS_INDEX_MAP.get(processIndex).PROCESS_INSTANCE_LOGGER_MODULE.write(MODULE_NAME, "[ERROR] initialize -> Cannot run without a Session."); callBackFunction(TS.projects.superalgos.globals.standardResponses.DEFAULT_FAIL_RESPONSE); return; } @@ -75,7 +75,7 @@ TS.projects.superalgos.globals.processVariables.VARIABLES_BY_PROCESS_INDEX_MAP.get(processIndex).SESSION_STATUS === 'Idle' || TS.projects.superalgos.globals.processVariables.VARIABLES_BY_PROCESS_INDEX_MAP.get(processIndex).SESSION_STATUS === 'Running' ) { - parentLogger.write(MODULE_NAME, "[WARN] onSessionRun -> Event received to run the Session while it was already running. ") + TS.projects.superalgos.globals.loggerVariables.VARIABLES_BY_PROCESS_INDEX_MAP.get(processIndex).PROCESS_INSTANCE_LOGGER_MODULE.write(MODULE_NAME, "[WARN] onSessionRun -> Event received to run the Session while it was already running. ") return } @@ -118,12 +118,12 @@ TS.projects.superalgos.globals.processVariables.VARIABLES_BY_PROCESS_INDEX_MAP.get(processIndex).IS_SESSION_STOPPING = false } else { TS.projects.superalgos.globals.processVariables.VARIABLES_BY_PROCESS_INDEX_MAP.get(processIndex).IS_SESSION_STOPPING = true - parentLogger.write(MODULE_NAME, '[IMPORTANT] onSessionRun -> Stopping the Session now. ') + TS.projects.superalgos.globals.loggerVariables.VARIABLES_BY_PROCESS_INDEX_MAP.get(processIndex).PROCESS_INSTANCE_LOGGER_MODULE.write(MODULE_NAME, '[IMPORTANT] onSessionRun -> Stopping the Session now. ') } TS.projects.superalgos.globals.processVariables.VARIABLES_BY_PROCESS_INDEX_MAP.get(processIndex).SOCIAL_BOTS_MODULE.sendMessage(TS.projects.superalgos.globals.processConstants.CONSTANTS_BY_PROCESS_INDEX_MAP.get(processIndex).SESSION_NODE.type + " '" + TS.projects.superalgos.globals.taskConstants.TASK_NODE.bot.processes[processIndex].session.name + "' is starting.") } catch (err) { - parentLogger.write(MODULE_NAME, "[ERROR] initialize -> onSessionRun -> err = " + err.stack); + TS.projects.superalgos.globals.loggerVariables.VARIABLES_BY_PROCESS_INDEX_MAP.get(processIndex).PROCESS_INSTANCE_LOGGER_MODULE.write(MODULE_NAME, "[ERROR] initialize -> onSessionRun -> err = " + err.stack); } } @@ -134,13 +134,13 @@ function onSessionResume(message) { try { if (TS.projects.superalgos.functionLibraries.sessionFunctions.stopSession === undefined) { - parentLogger.write(MODULE_NAME, "[WARN] onSessionResume -> Event received to resume the Session that have never be ran before. ") + TS.projects.superalgos.globals.loggerVariables.VARIABLES_BY_PROCESS_INDEX_MAP.get(processIndex).PROCESS_INSTANCE_LOGGER_MODULE.write(MODULE_NAME, "[WARN] onSessionResume -> Event received to resume the Session that have never be ran before. ") return } /* This happens when the UI is reloaded, the session was running and tries to run it again. */ if (TS.projects.superalgos.globals.processVariables.VARIABLES_BY_PROCESS_INDEX_MAP.get(processIndex).SESSION_STATUS === 'Idle' || TS.projects.superalgos.globals.processVariables.VARIABLES_BY_PROCESS_INDEX_MAP.get(processIndex).SESSION_STATUS === 'Running') { - parentLogger.write(MODULE_NAME, "[WARN] onSessionResume -> Event received to resume the Session while it was already running. ") + TS.projects.superalgos.globals.loggerVariables.VARIABLES_BY_PROCESS_INDEX_MAP.get(processIndex).PROCESS_INSTANCE_LOGGER_MODULE.write(MODULE_NAME, "[WARN] onSessionResume -> Event received to resume the Session while it was already running. ") return } @@ -149,7 +149,7 @@ TS.projects.superalgos.globals.processVariables.VARIABLES_BY_PROCESS_INDEX_MAP.get(processIndex).SOCIAL_BOTS_MODULE.sendMessage(TS.projects.superalgos.globals.processConstants.CONSTANTS_BY_PROCESS_INDEX_MAP.get(processIndex).SESSION_NODE.type + " '" + TS.projects.superalgos.globals.taskConstants.TASK_NODE.bot.processes[processIndex].session.name + "' is resuming.") } catch (err) { - parentLogger.write(MODULE_NAME, "[ERROR] initialize -> onSessionResume -> err = " + err.stack); + TS.projects.superalgos.globals.loggerVariables.VARIABLES_BY_PROCESS_INDEX_MAP.get(processIndex).PROCESS_INSTANCE_LOGGER_MODULE.write(MODULE_NAME, "[ERROR] initialize -> onSessionResume -> err = " + err.stack); } } @@ -182,12 +182,11 @@ if (TS.projects.superalgos.globals.processConstants.CONSTANTS_BY_PROCESS_INDEX_MAP.get(processIndex).SESSION_NODE.tradingParameters === undefined) { let errorMessage = "Session Node with no Parameters." - parentLogger.write(MODULE_NAME, "[ERROR] initialize -> checkParemeters -> " + errorMessage) + TS.projects.superalgos.globals.loggerVariables.VARIABLES_BY_PROCESS_INDEX_MAP.get(processIndex).PROCESS_INSTANCE_LOGGER_MODULE.write(MODULE_NAME, "[ERROR] initialize -> checkParemeters -> " + errorMessage) TS.projects.superalgos.functionLibraries.sessionFunctions.sessionError( processIndex, TS.projects.superalgos.globals.processConstants.CONSTANTS_BY_PROCESS_INDEX_MAP.get(processIndex).SESSION_NODE, - errorMessage, - parentLogger + errorMessage ) return false } @@ -207,15 +206,15 @@ if (TS.projects.superalgos.globals.processConstants.CONSTANTS_BY_PROCESS_INDEX_MAP.get(processIndex).SESSION_NODE.type === 'Backtesting Session') { if (isNaN(new Date(TS.projects.superalgos.globals.processConstants.CONSTANTS_BY_PROCESS_INDEX_MAP.get(processIndex).SESSION_NODE.tradingParameters.timeRange.config.initialDatetime)).valueOf()) { let errorMessage = "sessionParameters.timeRange.config.initialDatetime is not a valid date." - parentLogger.write(MODULE_NAME, "[ERROR] initialize -> checkParemeters -> " + errorMessage) - TS.projects.superalgos.functionLibraries.sessionFunctions.sessionError(processIndex, TS.projects.superalgos.globals.processConstants.CONSTANTS_BY_PROCESS_INDEX_MAP.get(processIndex).SESSION_NODE.tradingParameters, errorMessage, parentLogger) + TS.projects.superalgos.globals.loggerVariables.VARIABLES_BY_PROCESS_INDEX_MAP.get(processIndex).PROCESS_INSTANCE_LOGGER_MODULE.write(MODULE_NAME, "[ERROR] initialize -> checkParemeters -> " + errorMessage) + TS.projects.superalgos.functionLibraries.sessionFunctions.sessionError(processIndex, TS.projects.superalgos.globals.processConstants.CONSTANTS_BY_PROCESS_INDEX_MAP.get(processIndex).SESSION_NODE.tradingParameters, errorMessage) return false } } if (isNaN(new Date(TS.projects.superalgos.globals.processConstants.CONSTANTS_BY_PROCESS_INDEX_MAP.get(processIndex).SESSION_NODE.tradingParameters.timeRange.config.finalDatetime)).valueOf()) { let errorMessage = "sessionParameters.timeRange.config.initialDatetime is not a valid date." - parentLogger.write(MODULE_NAME, "[ERROR] initialize -> checkParemeters -> " + errorMessage) - TS.projects.superalgos.functionLibraries.sessionFunctions.sessionError(processIndex, TS.projects.superalgos.globals.processConstants.CONSTANTS_BY_PROCESS_INDEX_MAP.get(processIndex).SESSION_NODE.tradingParameters, errorMessage, parentLogger) + TS.projects.superalgos.globals.loggerVariables.VARIABLES_BY_PROCESS_INDEX_MAP.get(processIndex).PROCESS_INSTANCE_LOGGER_MODULE.write(MODULE_NAME, "[ERROR] initialize -> checkParemeters -> " + errorMessage) + TS.projects.superalgos.functionLibraries.sessionFunctions.sessionError(processIndex, TS.projects.superalgos.globals.processConstants.CONSTANTS_BY_PROCESS_INDEX_MAP.get(processIndex).SESSION_NODE.tradingParameters, errorMessage) return false } } @@ -276,49 +275,49 @@ /* Time Frame */ if (TS.projects.superalgos.globals.processConstants.CONSTANTS_BY_PROCESS_INDEX_MAP.get(processIndex).SESSION_NODE.tradingParameters.timeFrame === undefined) { let errorMessage = "Session Parameters Node with no Time Frame." - parentLogger.write(MODULE_NAME, "[ERROR] initialize -> checkParemeters -> " + errorMessage) - TS.projects.superalgos.functionLibraries.sessionFunctions.sessionError(processIndex, TS.projects.superalgos.globals.processConstants.CONSTANTS_BY_PROCESS_INDEX_MAP.get(processIndex).SESSION_NODE.tradingParameters, errorMessage, parentLogger) + TS.projects.superalgos.globals.loggerVariables.VARIABLES_BY_PROCESS_INDEX_MAP.get(processIndex).PROCESS_INSTANCE_LOGGER_MODULE.write(MODULE_NAME, "[ERROR] initialize -> checkParemeters -> " + errorMessage) + TS.projects.superalgos.functionLibraries.sessionFunctions.sessionError(processIndex, TS.projects.superalgos.globals.processConstants.CONSTANTS_BY_PROCESS_INDEX_MAP.get(processIndex).SESSION_NODE.tradingParameters, errorMessage) return false } if (TS.projects.superalgos.globals.processConstants.CONSTANTS_BY_PROCESS_INDEX_MAP.get(processIndex).SESSION_NODE.tradingParameters.timeFrame.config.label === undefined) { let errorMessage = "Session Parameters Node with no Time Frame Label configuration." - parentLogger.write(MODULE_NAME, "[ERROR] initialize -> checkParemeters -> " + errorMessage) - TS.projects.superalgos.functionLibraries.sessionFunctions.sessionError(processIndex, TS.projects.superalgos.globals.processConstants.CONSTANTS_BY_PROCESS_INDEX_MAP.get(processIndex).SESSION_NODE.tradingParameters.timeFrame, errorMessage, parentLogger) + TS.projects.superalgos.globals.loggerVariables.VARIABLES_BY_PROCESS_INDEX_MAP.get(processIndex).PROCESS_INSTANCE_LOGGER_MODULE.write(MODULE_NAME, "[ERROR] initialize -> checkParemeters -> " + errorMessage) + TS.projects.superalgos.functionLibraries.sessionFunctions.sessionError(processIndex, TS.projects.superalgos.globals.processConstants.CONSTANTS_BY_PROCESS_INDEX_MAP.get(processIndex).SESSION_NODE.tradingParameters.timeFrame, errorMessage) return false } TS.projects.superalgos.globals.processConstants.CONSTANTS_BY_PROCESS_INDEX_MAP.get(processIndex).SESSION_NODE.tradingParameters.timeFrame.config.value = getTimeFrameFromLabel(TS.projects.superalgos.globals.processConstants.CONSTANTS_BY_PROCESS_INDEX_MAP.get(processIndex).SESSION_NODE.tradingParameters.timeFrame.config.label) if (TS.projects.superalgos.globals.processConstants.CONSTANTS_BY_PROCESS_INDEX_MAP.get(processIndex).SESSION_NODE.tradingParameters.timeFrame.config.value === undefined) { let errorMessage = "Config error: label value not recognized. Try 01-min or 01-hs for example." - parentLogger.write(MODULE_NAME, "[ERROR] initialize -> checkParemeters -> " + errorMessage) - TS.projects.superalgos.functionLibraries.sessionFunctions.sessionError(processIndex, TS.projects.superalgos.globals.processConstants.CONSTANTS_BY_PROCESS_INDEX_MAP.get(processIndex).SESSION_NODE.tradingParameters.timeFrame, errorMessage, parentLogger) + TS.projects.superalgos.globals.loggerVariables.VARIABLES_BY_PROCESS_INDEX_MAP.get(processIndex).PROCESS_INSTANCE_LOGGER_MODULE.write(MODULE_NAME, "[ERROR] initialize -> checkParemeters -> " + errorMessage) + TS.projects.superalgos.functionLibraries.sessionFunctions.sessionError(processIndex, TS.projects.superalgos.globals.processConstants.CONSTANTS_BY_PROCESS_INDEX_MAP.get(processIndex).SESSION_NODE.tradingParameters.timeFrame, errorMessage) return false } /* Session Base Asset */ if (TS.projects.superalgos.globals.processConstants.CONSTANTS_BY_PROCESS_INDEX_MAP.get(processIndex).SESSION_NODE.tradingParameters.sessionBaseAsset === undefined) { let errorMessage = "Session Parameters Node with no Session Base Asset." - parentLogger.write(MODULE_NAME, "[ERROR] initialize -> checkParemeters -> " + errorMessage) - TS.projects.superalgos.functionLibraries.sessionFunctions.sessionError(processIndex, TS.projects.superalgos.globals.processConstants.CONSTANTS_BY_PROCESS_INDEX_MAP.get(processIndex).SESSION_NODE.tradingParameters, errorMessage, parentLogger) + TS.projects.superalgos.globals.loggerVariables.VARIABLES_BY_PROCESS_INDEX_MAP.get(processIndex).PROCESS_INSTANCE_LOGGER_MODULE.write(MODULE_NAME, "[ERROR] initialize -> checkParemeters -> " + errorMessage) + TS.projects.superalgos.functionLibraries.sessionFunctions.sessionError(processIndex, TS.projects.superalgos.globals.processConstants.CONSTANTS_BY_PROCESS_INDEX_MAP.get(processIndex).SESSION_NODE.tradingParameters, errorMessage) return false } if (TS.projects.superalgos.globals.processConstants.CONSTANTS_BY_PROCESS_INDEX_MAP.get(processIndex).SESSION_NODE.tradingParameters.sessionBaseAsset.config.initialBalance === undefined) { let errorMessage = "Session Parameters Session Base Asset with no initialBalance configuration." - parentLogger.write(MODULE_NAME, "[ERROR] initialize -> checkParemeters -> " + errorMessage) - TS.projects.superalgos.functionLibraries.sessionFunctions.sessionError(processIndex, TS.projects.superalgos.globals.processConstants.CONSTANTS_BY_PROCESS_INDEX_MAP.get(processIndex).SESSION_NODE.tradingParameters.sessionBaseAsset, errorMessage, parentLogger) + TS.projects.superalgos.globals.loggerVariables.VARIABLES_BY_PROCESS_INDEX_MAP.get(processIndex).PROCESS_INSTANCE_LOGGER_MODULE.write(MODULE_NAME, "[ERROR] initialize -> checkParemeters -> " + errorMessage) + TS.projects.superalgos.functionLibraries.sessionFunctions.sessionError(processIndex, TS.projects.superalgos.globals.processConstants.CONSTANTS_BY_PROCESS_INDEX_MAP.get(processIndex).SESSION_NODE.tradingParameters.sessionBaseAsset, errorMessage) return false } /* Session Quoted Asset */ if (TS.projects.superalgos.globals.processConstants.CONSTANTS_BY_PROCESS_INDEX_MAP.get(processIndex).SESSION_NODE.tradingParameters.sessionQuotedAsset === undefined) { let errorMessage = "Session Parameters Node with no Session Quoted Asset." - parentLogger.write(MODULE_NAME, "[ERROR] initialize -> checkParemeters -> " + errorMessage) - TS.projects.superalgos.functionLibraries.sessionFunctions.sessionError(processIndex, TS.projects.superalgos.globals.processConstants.CONSTANTS_BY_PROCESS_INDEX_MAP.get(processIndex).SESSION_NODE.tradingParameters, errorMessage, parentLogger) + TS.projects.superalgos.globals.loggerVariables.VARIABLES_BY_PROCESS_INDEX_MAP.get(processIndex).PROCESS_INSTANCE_LOGGER_MODULE.write(MODULE_NAME, "[ERROR] initialize -> checkParemeters -> " + errorMessage) + TS.projects.superalgos.functionLibraries.sessionFunctions.sessionError(processIndex, TS.projects.superalgos.globals.processConstants.CONSTANTS_BY_PROCESS_INDEX_MAP.get(processIndex).SESSION_NODE.tradingParameters, errorMessage) return false } if (TS.projects.superalgos.globals.processConstants.CONSTANTS_BY_PROCESS_INDEX_MAP.get(processIndex).SESSION_NODE.tradingParameters.sessionQuotedAsset.config.initialBalance === undefined) { let errorMessage = "Session Parameters Session Quoted Asset with no initialBalance configuration." - parentLogger.write(MODULE_NAME, "[ERROR] initialize -> checkParemeters -> " + errorMessage) - TS.projects.superalgos.functionLibraries.sessionFunctions.sessionError(processIndex, TS.projects.superalgos.globals.processConstants.CONSTANTS_BY_PROCESS_INDEX_MAP.get(processIndex).SESSION_NODE.tradingParameters.sessionQuotedAsset, errorMessage, parentLogger) + TS.projects.superalgos.globals.loggerVariables.VARIABLES_BY_PROCESS_INDEX_MAP.get(processIndex).PROCESS_INSTANCE_LOGGER_MODULE.write(MODULE_NAME, "[ERROR] initialize -> checkParemeters -> " + errorMessage) + TS.projects.superalgos.functionLibraries.sessionFunctions.sessionError(processIndex, TS.projects.superalgos.globals.processConstants.CONSTANTS_BY_PROCESS_INDEX_MAP.get(processIndex).SESSION_NODE.tradingParameters.sessionQuotedAsset, errorMessage) return false } @@ -372,26 +371,26 @@ function checkKey() { if (TS.projects.superalgos.globals.taskConstants.TASK_NODE.keyReference === undefined) { let errorMessage = "Key Reference not defined. Please check that and try again." - parentLogger.write(MODULE_NAME, "[ERROR] initialize -> checkKey -> " + errorMessage) - TS.projects.superalgos.functionLibraries.sessionFunctions.sessionError(processIndex, TS.projects.superalgos.globals.processConstants.CONSTANTS_BY_PROCESS_INDEX_MAP.get(processIndex).SESSION_NODE, errorMessage, parentLogger) + TS.projects.superalgos.globals.loggerVariables.VARIABLES_BY_PROCESS_INDEX_MAP.get(processIndex).PROCESS_INSTANCE_LOGGER_MODULE.write(MODULE_NAME, "[ERROR] initialize -> checkKey -> " + errorMessage) + TS.projects.superalgos.functionLibraries.sessionFunctions.sessionError(processIndex, TS.projects.superalgos.globals.processConstants.CONSTANTS_BY_PROCESS_INDEX_MAP.get(processIndex).SESSION_NODE, errorMessage) return false } if (TS.projects.superalgos.globals.taskConstants.TASK_NODE.keyReference.referenceParent === undefined) { let errorMessage = "Key Reference not referencing an Exchange Account Key. Please check that and try again." - parentLogger.write(MODULE_NAME, "[ERROR] initialize -> checkKey -> " + errorMessage) - TS.projects.superalgos.functionLibraries.sessionFunctions.sessionError(processIndex, TS.projects.superalgos.globals.processConstants.CONSTANTS_BY_PROCESS_INDEX_MAP.get(processIndex).SESSION_NODE, errorMessage, parentLogger) + TS.projects.superalgos.globals.loggerVariables.VARIABLES_BY_PROCESS_INDEX_MAP.get(processIndex).PROCESS_INSTANCE_LOGGER_MODULE.write(MODULE_NAME, "[ERROR] initialize -> checkKey -> " + errorMessage) + TS.projects.superalgos.functionLibraries.sessionFunctions.sessionError(processIndex, TS.projects.superalgos.globals.processConstants.CONSTANTS_BY_PROCESS_INDEX_MAP.get(processIndex).SESSION_NODE, errorMessage) return false } if (TS.projects.superalgos.globals.taskConstants.TASK_NODE.keyReference.referenceParent.config.codeName === undefined) { let errorMessage = "Key 'codeName' undefined. Paste there you key. Please check that and try again." - parentLogger.write(MODULE_NAME, "[ERROR] initialize -> checkKey -> " + errorMessage) - TS.projects.superalgos.functionLibraries.sessionFunctions.sessionError(processIndex, TS.projects.superalgos.globals.processConstants.CONSTANTS_BY_PROCESS_INDEX_MAP.get(processIndex).SESSION_NODE, errorMessage, parentLogger) + TS.projects.superalgos.globals.loggerVariables.VARIABLES_BY_PROCESS_INDEX_MAP.get(processIndex).PROCESS_INSTANCE_LOGGER_MODULE.write(MODULE_NAME, "[ERROR] initialize -> checkKey -> " + errorMessage) + TS.projects.superalgos.functionLibraries.sessionFunctions.sessionError(processIndex, TS.projects.superalgos.globals.processConstants.CONSTANTS_BY_PROCESS_INDEX_MAP.get(processIndex).SESSION_NODE, errorMessage) return false } if (TS.projects.superalgos.globals.taskConstants.TASK_NODE.keyReference.referenceParent.config.secret === undefined) { let errorMessage = "Key 'secret' undefined. Paste there you key secret. Please check that and try again." - parentLogger.write(MODULE_NAME, "[ERROR] initialize -> checkKey -> " + errorMessage) - TS.projects.superalgos.functionLibraries.sessionFunctions.sessionError(processIndex, TS.projects.superalgos.globals.processConstants.CONSTANTS_BY_PROCESS_INDEX_MAP.get(processIndex).SESSION_NODE, errorMessage, parentLogger) + TS.projects.superalgos.globals.loggerVariables.VARIABLES_BY_PROCESS_INDEX_MAP.get(processIndex).PROCESS_INSTANCE_LOGGER_MODULE.write(MODULE_NAME, "[ERROR] initialize -> checkKey -> " + errorMessage) + TS.projects.superalgos.functionLibraries.sessionFunctions.sessionError(processIndex, TS.projects.superalgos.globals.processConstants.CONSTANTS_BY_PROCESS_INDEX_MAP.get(processIndex).SESSION_NODE, errorMessage) return false } return true @@ -451,7 +450,7 @@ } } catch (err) { - parentLogger.write(MODULE_NAME, "[ERROR] initialize -> err = " + err.stack); + TS.projects.superalgos.globals.loggerVariables.VARIABLES_BY_PROCESS_INDEX_MAP.get(processIndex).PROCESS_INSTANCE_LOGGER_MODULE.write(MODULE_NAME, "[ERROR] initialize -> err = " + err.stack); callBackFunction(TS.projects.superalgos.globals.standardResponses.DEFAULT_FAIL_RESPONSE); } } diff --git a/UI/Animation.js b/UI/Animation.js index 711157890..2a267521c 100644 --- a/UI/Animation.js +++ b/UI/Animation.js @@ -3,7 +3,7 @@ function newAnimation() { const MODULE_NAME = 'Animation' const ERROR_LOG = true const logger = newWebDebugLog() - logger.fileName = MODULE_NAME + /* diff --git a/UI/AppLoader.js b/UI/AppLoader.js index 1f8db58df..41132d7e2 100644 --- a/UI/AppLoader.js +++ b/UI/AppLoader.js @@ -5,7 +5,7 @@ function newAppLoader() { const INFO_LOG = false const ERROR_LOG = true const logger = newWebDebugLog() - logger.fileName = MODULE_NAME + let thisObject = { loadModules: loadModules diff --git a/UI/AppPostLoader.js b/UI/AppPostLoader.js index ed905d728..db12ac1be 100644 --- a/UI/AppPostLoader.js +++ b/UI/AppPostLoader.js @@ -4,7 +4,7 @@ function newAppPostLoader() { const MODULE_NAME = 'Post Loader' const ERROR_LOG = true const logger = newWebDebugLog() - logger.fileName = MODULE_NAME + let thisObject = { start: start diff --git a/UI/Canvas.js b/UI/Canvas.js index 44bbc213a..51d41ceec 100644 --- a/UI/Canvas.js +++ b/UI/Canvas.js @@ -5,7 +5,7 @@ function newCanvas() { const MODULE_NAME = 'Canvas' const ERROR_LOG = true const logger = newWebDebugLog() - logger.fileName = MODULE_NAME + /* Mouse event related variables. */ diff --git a/UI/Data-Files/src/DailyFiles.js b/UI/Data-Files/src/DailyFiles.js index 63e10eaaa..1be7657c1 100644 --- a/UI/Data-Files/src/DailyFiles.js +++ b/UI/Data-Files/src/DailyFiles.js @@ -3,7 +3,7 @@ function newDailyFiles() { const MODULE_NAME = 'Daily Files' const ERROR_LOG = true const logger = newWebDebugLog() - logger.fileName = MODULE_NAME + let thisObject = { eventHandler: undefined, diff --git a/UI/Data-Files/src/FileCloud.js b/UI/Data-Files/src/FileCloud.js index d09b4204d..36548927d 100644 --- a/UI/Data-Files/src/FileCloud.js +++ b/UI/Data-Files/src/FileCloud.js @@ -3,7 +3,7 @@ function newFileCloud () { const MODULE_NAME = 'File Cloud' const ERROR_LOG = true const logger = newWebDebugLog() - logger.fileName = MODULE_NAME + /* This is the module in the system that actually connects to the cloud storage and grabs from there the needed files. diff --git a/UI/Data-Files/src/FileCursor.js b/UI/Data-Files/src/FileCursor.js index 76693074f..2cae02a22 100644 --- a/UI/Data-Files/src/FileCursor.js +++ b/UI/Data-Files/src/FileCursor.js @@ -4,7 +4,7 @@ function newFileCursor() { const INFO_LOG = false const ERROR_LOG = true const logger = newWebDebugLog() - logger.fileName = MODULE_NAME + let cursorDate diff --git a/UI/Data-Files/src/FileSequence.js b/UI/Data-Files/src/FileSequence.js index db3752acf..9ff177f0b 100644 --- a/UI/Data-Files/src/FileSequence.js +++ b/UI/Data-Files/src/FileSequence.js @@ -4,7 +4,7 @@ function newFileSequence () { const INFO_LOG = false const ERROR_LOG = true const logger = newWebDebugLog() - logger.fileName = MODULE_NAME + let thisObject = { eventHandler: undefined, diff --git a/UI/Data-Files/src/FileStorage.js b/UI/Data-Files/src/FileStorage.js index 776435d22..eda906c26 100644 --- a/UI/Data-Files/src/FileStorage.js +++ b/UI/Data-Files/src/FileStorage.js @@ -2,7 +2,7 @@ function newFileStorage(host, port) { const MODULE_NAME = 'File Storage' const INFO_LOG = false const logger = newWebDebugLog() - logger.fileName = MODULE_NAME + const MAX_RETRY = 2 let currentRetry = 0 diff --git a/UI/Data-Files/src/MarketFiles.js b/UI/Data-Files/src/MarketFiles.js index be0c4f397..819ec288f 100644 --- a/UI/Data-Files/src/MarketFiles.js +++ b/UI/Data-Files/src/MarketFiles.js @@ -3,7 +3,7 @@ function newMarketFiles() { const MODULE_NAME = 'Market Files' const ERROR_LOG = true const logger = newWebDebugLog() - logger.fileName = MODULE_NAME + let thisObject = { eventHandler: undefined, diff --git a/UI/Data-Files/src/SingleFile.js b/UI/Data-Files/src/SingleFile.js index 5d5da4294..dfd4ef8cd 100644 --- a/UI/Data-Files/src/SingleFile.js +++ b/UI/Data-Files/src/SingleFile.js @@ -4,7 +4,7 @@ function newSingleFile () { const INFO_LOG = false const ERROR_LOG = true const logger = newWebDebugLog() - logger.fileName = MODULE_NAME + let thisObject = { getFile: getFile, diff --git a/UI/EventsServerClient.js b/UI/EventsServerClient.js index fc1889acc..074933227 100644 --- a/UI/EventsServerClient.js +++ b/UI/EventsServerClient.js @@ -6,7 +6,7 @@ function newEventsServerClient(networkNode) { const ERROR_LOG = true const INFO_LOG = true const logger = newWebDebugLog() - logger.fileName = MODULE_NAME + let WEB_SOCKETS_CONNECTION diff --git a/UI/PostLoader.js b/UI/PostLoader.js index ed905d728..db12ac1be 100644 --- a/UI/PostLoader.js +++ b/UI/PostLoader.js @@ -4,7 +4,7 @@ function newAppPostLoader() { const MODULE_NAME = 'Post Loader' const ERROR_LOG = true const logger = newWebDebugLog() - logger.fileName = MODULE_NAME + let thisObject = { start: start diff --git a/UI/ProductStorage.js b/UI/ProductStorage.js index 55d48088f..a7f4841cb 100644 --- a/UI/ProductStorage.js +++ b/UI/ProductStorage.js @@ -3,7 +3,7 @@ function newProductStorage(name) { const MODULE_NAME = 'Product Storage' const ERROR_LOG = true const logger = newWebDebugLog() - logger.fileName = MODULE_NAME + /*