UNPKG

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
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();