limitless-ai-mcp-server
Version:
MCP server for integrating Limitless AI Pendant recordings with AI assistants
57 lines • 2.1 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.logger = exports.Logger = exports.LogLevel = void 0;
var LogLevel;
(function (LogLevel) {
LogLevel[LogLevel["DEBUG"] = 0] = "DEBUG";
LogLevel[LogLevel["INFO"] = 1] = "INFO";
LogLevel[LogLevel["WARN"] = 2] = "WARN";
LogLevel[LogLevel["ERROR"] = 3] = "ERROR";
})(LogLevel || (exports.LogLevel = LogLevel = {}));
class Logger {
level;
prefix;
constructor(prefix = 'limitless-mcp', level = LogLevel.INFO) {
this.prefix = prefix;
this.level = this.getLogLevelFromEnv() || level;
}
getLogLevelFromEnv() {
const envLevel = process.env.LOG_LEVEL?.toUpperCase();
if (envLevel && envLevel in LogLevel) {
return LogLevel[envLevel];
}
return null;
}
shouldLog(level) {
return level >= this.level;
}
formatMessage(level, message, ...args) {
const timestamp = new Date().toISOString();
const formattedArgs = args.length > 0 ? ' ' + JSON.stringify(args) : '';
return `[${timestamp}] [${this.prefix}] [${level}] ${message}${formattedArgs}`;
}
debug(message, ...args) {
if (this.shouldLog(LogLevel.DEBUG)) {
process.stderr.write(this.formatMessage('DEBUG', message, ...args) + '\n');
}
}
info(message, ...args) {
if (this.shouldLog(LogLevel.INFO)) {
process.stderr.write(this.formatMessage('INFO', message, ...args) + '\n');
}
}
warn(message, ...args) {
if (this.shouldLog(LogLevel.WARN)) {
process.stderr.write(this.formatMessage('WARN', message, ...args) + '\n');
}
}
error(message, error, ...args) {
if (this.shouldLog(LogLevel.ERROR)) {
const errorDetails = error instanceof Error ? { message: error.message, stack: error.stack } : error;
process.stderr.write(this.formatMessage('ERROR', message, errorDetails, ...args) + '\n');
}
}
}
exports.Logger = Logger;
exports.logger = new Logger();
//# sourceMappingURL=logger.js.map