declarative-e2e-test
Version:
Declaration driven test generator for REST endpoints
54 lines • 1.6 kB
JavaScript
;
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