@sssx/logger
Version:
Logger for SSSX
56 lines • 1.69 kB
JavaScript
import colors from 'chalk';
export var LogLevel;
(function (LogLevel) {
LogLevel["SILENT"] = "SILENT";
LogLevel["VERBOSE"] = "VERBOSE";
LogLevel["INFO"] = "INFO";
LogLevel["DEBUG"] = "DEBUG";
LogLevel["WARN"] = "WARN";
LogLevel["ERROR"] = "ERROR";
})(LogLevel || (LogLevel = {}));
class Logger {
static instance;
prefix = 'SSSX:';
_level;
constructor() {
this._level = LogLevel.INFO;
}
static getInstance() {
if (!Logger.instance) {
Logger.instance = new Logger();
}
return Logger.instance;
}
set level(l) {
this._level = l;
}
get level() {
return this._level;
}
clear = () => {
console.clear();
};
log = (...data) => {
this.level != LogLevel.SILENT &&
(this.level == LogLevel.INFO ||
this.level == LogLevel.VERBOSE ||
this.level == LogLevel.DEBUG) &&
console.log(colors.bgBlue.whiteBright(this.prefix), ...data);
};
info = this.log;
verbose = (...data) => {
this.level === LogLevel.VERBOSE &&
console.log(colors.bgBlack.whiteBright(this.prefix), ...data);
};
debug = (...data) => {
this.level === LogLevel.DEBUG && console.log(colors.bgBlack.whiteBright(this.prefix), ...data);
};
warn = (...data) => {
this.level != LogLevel.SILENT && console.warn(colors.bgYellow.black(this.prefix), ...data);
};
error = (...data) => {
this.level != LogLevel.SILENT && console.error(colors.bgRed.whiteBright(this.prefix), ...data);
};
}
export default Logger.getInstance();
//# sourceMappingURL=index.js.map