leshan-mcp-server
Version:
A standards-compliant MCP server for Leshan LwM2M, exposing Leshan as Model Context Protocol tools.
31 lines (25 loc) • 901 B
JavaScript
import { createWriteStream } from 'fs';
import { join } from 'path';
class Logger {
constructor() {
this.logStream = createWriteStream(join(process.cwd(), 'logs', 'mcp-server.log'), { flags: 'a' });
}
log(level, message, meta = {}) {
const timestamp = new Date().toISOString();
const logEntry = {
timestamp,
level,
message,
...meta
};
// Log to stderr for MCP (not stdout which is reserved for MCP protocol)
console.error(`[${timestamp}] ${level.toUpperCase()}: ${message}`);
// Also log to file
this.logStream.write(JSON.stringify(logEntry) + '\n');
}
info(message, meta) { this.log('info', message, meta); }
warn(message, meta) { this.log('warn', message, meta); }
error(message, meta) { this.log('error', message, meta); }
debug(message, meta) { this.log('debug', message, meta); }
}
export default new Logger();