#!/usr/bin/env node /** * 跨平台服务日志查看工具 * 用法: node scripts/service-logs.js [tail行数] * 示例: node scripts/service-logs.js k3s:test:default:pod:park-server-xxx 50 */ import { ServiceRouter } from '../dist/services/router.js'; import { ConfigManager } from '../dist/config/manager.js'; async function main() { const serviceId = process.argv[2]; const tail = parseInt(process.argv[3] || '100', 10); if (!serviceId) { console.error('用法: node scripts/service-logs.js [tail行数]'); console.error(''); console.error('示例:'); console.error(' node scripts/service-logs.js docker:server:container 50'); console.error(' node scripts/service-logs.js k3s:cluster:ns:pod:name'); console.error(''); console.error('提示: 使用 node scripts/service-find.js 查找服务 ID'); process.exit(1); } const configManager = new ConfigManager(); const router = new ServiceRouter(configManager); try { console.log(`📜 日志: ${serviceId} (最近 ${tail} 行)`); console.log('═══════════════════════════════════════════════════════════\n'); const logs = await router.getManager(serviceId).logs(serviceId, { tail }); console.log(logs); console.log('\n═══════════════════════════════════════════════════════════'); } finally { await router.closeAll(); } } main().catch(console.error);