@scaleway/sdk-client
Version:
Scaleway SDK Client
25 lines (24 loc) • 765 B
JavaScript
;
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
const levelResolver = require("./level-resolver.cjs");
class ConsoleLogger {
constructor(logLevel, prefix = "", output = console) {
this.logLevel = logLevel;
this.prefix = prefix;
this.output = output;
this.level = levelResolver.LevelResolver[this.logLevel];
}
level;
makeMethod(method) {
return (message) => {
if (levelResolver.shouldLog(this.level, method)) {
this.output[method](this.prefix ? `${this.prefix} ${message}` : message);
}
};
}
debug = this.makeMethod("debug");
error = this.makeMethod("error");
info = this.makeMethod("info");
warn = this.makeMethod("warn");
}
exports.ConsoleLogger = ConsoleLogger;