@mcp-shark/mcp-shark
Version:
Aggregate multiple Model Context Protocol (MCP) servers into a single unified interface with a powerful monitoring UI. Prov deep visibility into every request and response.
33 lines (27 loc) • 1.05 kB
JavaScript
export function createLogsRoutes(mcpSharkLogs, broadcastLogUpdate) {
const router = {};
router.getLogs = (req, res) => {
const limit = parseInt(req.query.limit) || 1000;
const offset = parseInt(req.query.offset) || 0;
const logs = [...mcpSharkLogs].reverse().slice(offset, offset + limit);
res.json(logs);
};
router.clearLogs = (req, res) => {
mcpSharkLogs.length = 0;
res.json({ success: true, message: 'Logs cleared' });
};
router.exportLogs = (req, res) => {
try {
const logsText = mcpSharkLogs
.map((log) => `[${log.timestamp}] [${log.type.toUpperCase()}] ${log.line}`)
.join('\n');
const filename = `mcp-shark-logs-${new Date().toISOString().replace(/[:.]/g, '-')}.txt`;
res.setHeader('Content-Type', 'text/plain');
res.setHeader('Content-Disposition', `attachment; filename="${filename}"`);
res.send(logsText);
} catch (error) {
res.status(500).json({ error: 'Failed to export logs', details: error.message });
}
};
return router;
}