add events to logger

This commit is contained in:
Iuri Matias 2018-03-15 16:44:05 -04:00
parent 89616537b8
commit c1d258b819
2 changed files with 7 additions and 1 deletions

View File

@ -23,7 +23,7 @@ class Engine {
let self = this; let self = this;
let options = _options || {}; let options = _options || {};
this.events = new Events(); this.events = new Events();
this.logger = options.logger || new Logger({logLevel: options.logLevel || 'debug', logfile: this.logfile}); this.logger = options.logger || new Logger({logLevel: options.logLevel || 'debug', events: this.events, logfile: this.logfile});
this.config = new Config({env: this.env, logger: this.logger, events: this.events}); this.config = new Config({env: this.env, logger: this.logger, events: this.events});
this.config.loadConfigFiles({embarkConfig: this.embarkConfig, interceptLogs: this.interceptLogs}); this.config.loadConfigFiles({embarkConfig: this.embarkConfig, interceptLogs: this.interceptLogs});
this.plugins = this.config.plugins; this.plugins = this.config.plugins;

View File

@ -3,6 +3,7 @@ let fs = require('./fs.js');
class Logger { class Logger {
constructor(options) { constructor(options) {
this.events = options.events;
this.logLevels = ['error', 'warn', 'info', 'debug', 'trace']; this.logLevels = ['error', 'warn', 'info', 'debug', 'trace'];
this.logLevel = options.logLevel || 'info'; this.logLevel = options.logLevel || 'info';
this.logFunction = options.logFunction || console.log; this.logFunction = options.logFunction || console.log;
@ -22,6 +23,7 @@ Logger.prototype.error = function (txt) {
if (!txt || !(this.shouldLog('error'))) { if (!txt || !(this.shouldLog('error'))) {
return; return;
} }
this.events.emit("log", "error", txt);
this.logFunction(txt.red); this.logFunction(txt.red);
this.writeToFile("[error]: " + txt); this.writeToFile("[error]: " + txt);
}; };
@ -30,6 +32,7 @@ Logger.prototype.warn = function (txt) {
if (!txt || !(this.shouldLog('warn'))) { if (!txt || !(this.shouldLog('warn'))) {
return; return;
} }
this.events.emit("log", "warning", txt);
this.logFunction(txt.yellow); this.logFunction(txt.yellow);
this.writeToFile("[warning]: " + txt); this.writeToFile("[warning]: " + txt);
}; };
@ -38,6 +41,7 @@ Logger.prototype.info = function (txt) {
if (!txt || !(this.shouldLog('info'))) { if (!txt || !(this.shouldLog('info'))) {
return; return;
} }
this.events.emit("log", "info", txt);
this.logFunction(txt.green); this.logFunction(txt.green);
this.writeToFile("[info]: " + txt); this.writeToFile("[info]: " + txt);
}; };
@ -46,6 +50,7 @@ Logger.prototype.debug = function (txt) {
if (!txt || !(this.shouldLog('debug'))) { if (!txt || !(this.shouldLog('debug'))) {
return; return;
} }
this.events.emit("log", "debug", txt);
this.logFunction(txt); this.logFunction(txt);
this.writeToFile("[debug]: " + txt); this.writeToFile("[debug]: " + txt);
}; };
@ -54,6 +59,7 @@ Logger.prototype.trace = function (txt) {
if (!txt || !(this.shouldLog('trace'))) { if (!txt || !(this.shouldLog('trace'))) {
return; return;
} }
this.events.emit("log", "trace", txt);
this.logFunction(txt); this.logFunction(txt);
this.writeToFile("[trace]: " + txt); this.writeToFile("[trace]: " + txt);
}; };