openrouter-image-mcp
Version:
MCP server for image analysis using OpenRouter's vision models
51 lines (50 loc) • 1.44 kB
JavaScript
export class Logger {
static instance;
logLevel;
constructor() {
this.logLevel = process.env.LOG_LEVEL || 'info';
}
static getInstance() {
if (!Logger.instance) {
Logger.instance = new Logger();
}
return Logger.instance;
}
shouldLog(level) {
const levels = {
debug: 0,
info: 1,
warn: 2,
error: 3,
};
return levels[level] >= levels[this.logLevel];
}
formatMessage(level, message, data) {
const timestamp = new Date().toISOString();
const dataStr = data ? ` ${JSON.stringify(data)}` : '';
return `[${timestamp}] [${level.toUpperCase()}] ${message}${dataStr}`;
}
debug(message, data) {
if (this.shouldLog('debug')) {
console.error(this.formatMessage('debug', message, data));
}
}
info(message, data) {
if (this.shouldLog('info')) {
console.log(this.formatMessage('info', message, data));
}
}
warn(message, data) {
if (this.shouldLog('warn')) {
console.warn(this.formatMessage('warn', message, data));
}
}
error(message, error) {
if (this.shouldLog('error')) {
console.error(this.formatMessage('error', message));
if (error && error.stack) {
console.error(error.stack);
}
}
}
}