UNPKG

declarative-e2e-test

Version:
54 lines 1.6 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.Logger = void 0; const logPriorityByLevel = { 'TRACE': 1, 'DEBUG': 2, 'ERROR': 3, 'SILENT': 4 }; class Logger { constructor(level = 'SILENT') { this.level = level; } static getLogger() { if (!this.loggerInstance) { this.loggerInstance = new Logger(); } return this.loggerInstance; } static setLogLevel(level = 'SILENT') { this.getLogger().level = level; } trace(...messages) { this.log('TRACE', ...messages); } debug(...messages) { this.log('DEBUG', ...messages); } error(...messages) { this.log('ERROR', ...messages); } log(callLevel, ...messages) { if (logPriorityByLevel[callLevel] < logPriorityByLevel[this.level]) { return; } // pretty print for non primitive messages = messages.map(m => m && typeof m === 'object' ? JSON.stringify(m, undefined, ' ') : m); switch (callLevel) { case 'TRACE': // tslint:disable-next-line:no-console return console.log.call(console, ...messages); case 'DEBUG': // tslint:disable-next-line:no-console return console.debug.call(console, ...messages); case 'ERROR': // tslint:disable-next-line:no-console return console.error.call(console, ...messages); } } } exports.Logger = Logger; //# sourceMappingURL=logger.js.map