landstrasse
Version:
Strongly typed WAMP Client for browsers
48 lines • 1.51 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.LogLevel = void 0;
var LogLevel;
(function (LogLevel) {
LogLevel["DEBUG"] = "DEBUG";
LogLevel["INFO"] = "INFO";
LogLevel["WARNING"] = "WARNING";
LogLevel["ERROR"] = "ERROR";
})(LogLevel = exports.LogLevel || (exports.LogLevel = {}));
class Logger {
constructor(logFunction, debug = false) {
Object.defineProperty(this, "logFunction", {
enumerable: true,
configurable: true,
writable: true,
value: void 0
});
Object.defineProperty(this, "debug", {
enumerable: true,
configurable: true,
writable: true,
value: void 0
});
this.debug = debug;
this.logFunction = logFunction;
}
log(level, message, ...details) {
if (!this.debug && level === LogLevel.DEBUG) {
return;
}
if (this.logFunction) {
this.logFunction(level, new Date(), message, details);
}
else {
const methodMap = {
[LogLevel.DEBUG]: 'debug',
[LogLevel.WARNING]: 'warn',
[LogLevel.ERROR]: 'error',
[LogLevel.INFO]: 'log',
};
const method = level in methodMap ? methodMap[level] : 'log';
console[method](`[WebSocket] ${message}`, ...details);
}
}
}
exports.default = Logger;
//# sourceMappingURL=logger.js.map