near-protocol-rewards
Version:
A transparent, metric-based rewards system for NEAR projects
42 lines (41 loc) • 1.16 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.defaultLogger = exports.ConsoleLogger = void 0;
// Implement the interface
class ConsoleLogger {
constructor(level = "info") {
this.level = level;
}
shouldLog(level) {
const levels = ["error", "warn", "info", "debug"];
return levels.indexOf(level) <= levels.indexOf(this.level);
}
debug(message, context) {
if (this.shouldLog("debug")) {
console.debug(message, context);
}
}
info(message, context) {
if (this.shouldLog("info")) {
if (context) {
console.info(message, context);
}
else {
console.info(message);
}
}
}
warn(message, context) {
if (this.shouldLog("warn")) {
console.warn(message, context);
}
}
error(message, context) {
if (this.shouldLog("error")) {
console.error(message, context);
}
}
}
exports.ConsoleLogger = ConsoleLogger;
// Export a default logger instance
exports.defaultLogger = new ConsoleLogger();