1inch-agent-kit
Version:
AI Agent Kit for 1inch - Connect any LLM to 1inch DeFi protocols
52 lines • 1.72 kB
JavaScript
;
/**
* Simple logger utility for the 1inch Agent Kit
*/
Object.defineProperty(exports, "__esModule", { value: true });
exports.logger = exports.Logger = exports.LogLevel = void 0;
var LogLevel;
(function (LogLevel) {
LogLevel[LogLevel["ERROR"] = 0] = "ERROR";
LogLevel[LogLevel["WARN"] = 1] = "WARN";
LogLevel[LogLevel["INFO"] = 2] = "INFO";
LogLevel[LogLevel["DEBUG"] = 3] = "DEBUG";
})(LogLevel || (exports.LogLevel = LogLevel = {}));
class Logger {
constructor(options = {}) {
this.level = options.level ?? LogLevel.INFO;
this.prefix = options.prefix ?? '[1inch-agent-kit]';
this.enableConsole = options.enableConsole ?? true;
}
formatMessage(level, message) {
const timestamp = new Date().toISOString();
return `${this.prefix} [${timestamp}] [${level}] ${message}`;
}
log(level, levelName, message, ...args) {
if (this.level >= level && this.enableConsole) {
const formattedMessage = this.formatMessage(levelName, message);
console.log(formattedMessage, ...args);
}
}
error(message, ...args) {
this.log(LogLevel.ERROR, 'ERROR', message, ...args);
}
warn(message, ...args) {
this.log(LogLevel.WARN, 'WARN', message, ...args);
}
info(message, ...args) {
this.log(LogLevel.INFO, 'INFO', message, ...args);
}
debug(message, ...args) {
this.log(LogLevel.DEBUG, 'DEBUG', message, ...args);
}
setLevel(level) {
this.level = level;
}
setPrefix(prefix) {
this.prefix = prefix;
}
}
exports.Logger = Logger;
// Default logger instance
exports.logger = new Logger();
//# sourceMappingURL=logger.js.map