From 340fbacdeea43d2c7f03db9fcce8c862fcecd9ef Mon Sep 17 00:00:00 2001 From: Iuri Matias Date: Fri, 8 Nov 2019 17:49:43 -0500 Subject: [PATCH] extend logger --- packages/core/core/src/engine.ts | 2 +- packages/core/logger/src/index.js | 7 ++++++- packages/embark/src/cmd/cmd_controller.js | 1 + packages/embark/src/lib/core/plugins.js | 4 +++- packages/stack/deployment/src/contract_deployer.js | 2 +- 5 files changed, 12 insertions(+), 4 deletions(-) diff --git a/packages/core/core/src/engine.ts b/packages/core/core/src/engine.ts index 296a54781..24743593b 100644 --- a/packages/core/core/src/engine.ts +++ b/packages/core/core/src/engine.ts @@ -89,7 +89,7 @@ export class Engine { this.debugLog.startSession(); this.events = options.events || this.events || new Events({debugLog: this.debugLog}); - this.logger = options.logger || new Logger({context: this.context, logLevel: options.logLevel || this.logLevel || 'info', events: this.events, logFile: this.logFile}); + this.logger = options.logger || new Logger({context: this.context, debugLog: this.debugLog, logLevel: options.logLevel || this.logLevel || 'info', events: this.events, logFile: this.logFile}); this.config = new Config({env: this.env, logger: this.logger, debugLog: this.debugLog, events: this.events, context: this.context, webServerConfig: this.webServerConfig, version: this.version, package: this.package}); diff --git a/packages/core/logger/src/index.js b/packages/core/logger/src/index.js index 5f7240284..7fa039b87 100644 --- a/packages/core/logger/src/index.js +++ b/packages/core/logger/src/index.js @@ -10,6 +10,7 @@ const LOG_REGEX = new RegExp(/\[(\d\d\d\d-\d\d-\d\d \d\d:\d\d:\d\d:\d\d\d)\] (?: export class Logger { constructor(options) { this.events = options.events || {emit: function(){}}; + this.debugLog = options.debugLog; this.logLevels = Object.keys(Logger.logLevels); this.logLevel = options.logLevel || 'info'; this._logFunction = options.logFunction || console.log; @@ -91,7 +92,11 @@ Logger.prototype.registerAPICall = function (plugins) { ); }; -Logger.prototype.writeToFile = function (_txt) { +Logger.prototype.writeToFile = function (txt) { + if (this.debugLog) { + this.debugLog.log({parent_id: this.logId, type: "log_info", name: txt}); + } + if (!this.logFile) { return; } diff --git a/packages/embark/src/cmd/cmd_controller.js b/packages/embark/src/cmd/cmd_controller.js index 3b590ecaa..9fce59c82 100644 --- a/packages/embark/src/cmd/cmd_controller.js +++ b/packages/embark/src/cmd/cmd_controller.js @@ -157,6 +157,7 @@ class EmbarkController { let runId = engine.debugLog.moduleInit("run_command") engine.events = engine.debugLog.tagObject(engine.events, runId); + engine.logger = engine.debugLog.tagObject(engine.logger, runId); engine.registerModuleGroup("coreComponents"); engine.registerModuleGroup("stackComponents"); diff --git a/packages/embark/src/lib/core/plugins.js b/packages/embark/src/lib/core/plugins.js index 2379ef7d4..74fb4e7ff 100644 --- a/packages/embark/src/lib/core/plugins.js +++ b/packages/embark/src/lib/core/plugins.js @@ -83,12 +83,14 @@ Plugins.prototype.loadInternalPlugin = function(pluginName, pluginConfig, isPack let logId = this.debugLog.moduleInit(pluginName); let events = this.debugLog.tagObject(this.events, logId); + let logger = this.debugLog.tagObject(this.logger, logId); + // let logger = this.logger; const pluginWrapper = new Plugin({ name: pluginName, pluginModule: plugin, pluginConfig: pluginConfig || {}, - logger: this.logger, + logger: logger, debugLog: this.debugLog, logId: logId, pluginPath: pluginPath, diff --git a/packages/stack/deployment/src/contract_deployer.js b/packages/stack/deployment/src/contract_deployer.js index ee4141ca8..9f7219139 100644 --- a/packages/stack/deployment/src/contract_deployer.js +++ b/packages/stack/deployment/src/contract_deployer.js @@ -4,10 +4,10 @@ class ContractDeployer { constructor(options) { // this.events = options.events; - this.logger = options.logger; this.debugLog = options.debugLog; this.logId = this.debugLog.moduleInit("ContractDeployer"); this.events = this.debugLog.tagObject(options.events, this.logId); + this.logger = this.debugLog.tagObject(options.logger, this.logId); this.plugins = options.plugins; this.deployer = {};