feat(logging): add comprehensive logging to all API routes (Phase 4)
Applied withLogging() wrapper to all 24 API routes for consistent logging: Process Control Routes: - Start/stop/restart individual processes - Start-all/stop-all/restart-all batch operations Signal Routes: - Signal individual processes - Signal all processes - Signal process groups Group Management Routes: - Start/stop/restart process groups - Signal operations for groups Configuration Routes: - Get all configs (GET) - Reload configuration (POST) - Add/remove process groups (POST/DELETE) Log Routes: - Read main supervisord log - Read process stdout/stderr logs - Clear process logs (individual and all) System Routes: - Get system info - Get all processes info - Get individual process info - Send stdin to process All routes now include: - Request/response logging with timing - Automatic error handling and correlation IDs - X-Request-ID header propagation - Consistent metadata in responses Also fixed Next.js 16 deprecation: - Moved experimental.serverComponentsExternalPackages to serverExternalPackages 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
@@ -1,5 +1,6 @@
|
||||
import { NextRequest, NextResponse } from 'next/server';
|
||||
import { createSupervisorClient } from '@/lib/supervisor/client';
|
||||
import { withLogging } from '@/lib/utils/api-logger';
|
||||
|
||||
export const dynamic = 'force-dynamic';
|
||||
|
||||
@@ -7,17 +8,11 @@ interface RouteParams {
|
||||
params: Promise<{ name: string }>;
|
||||
}
|
||||
|
||||
export async function GET(request: NextRequest, { params }: RouteParams) {
|
||||
try {
|
||||
const { name } = await params;
|
||||
const client = createSupervisorClient();
|
||||
const processInfo = await client.getProcessInfo(name);
|
||||
return NextResponse.json(processInfo);
|
||||
} catch (error: any) {
|
||||
console.error('Supervisor process info error:', error);
|
||||
return NextResponse.json(
|
||||
{ error: error.message || 'Failed to fetch process info' },
|
||||
{ status: 500 }
|
||||
);
|
||||
}
|
||||
}
|
||||
export const GET = withLogging(async (request: NextRequest, { params }: RouteParams) => {
|
||||
const { name } = await params;
|
||||
|
||||
const client = createSupervisorClient();
|
||||
const processInfo = await client.getProcessInfo(name);
|
||||
|
||||
return NextResponse.json(processInfo);
|
||||
}, 'getProcessInfo');
|
||||
|
||||
Reference in New Issue
Block a user