fix(mcp): log metrics init failure at error level with err.code + port

Operators who opt in to metrics need an actionable signal when init
fails (EADDRINUSE is the common case). Bump warn -> error and capture
err.code, address/port, and stack.
This commit is contained in:
Nathan Hangen 2026-05-10 21:32:35 -04:00
parent 9b47ec2dcb
commit 8bb0508ded
2 changed files with 16 additions and 4 deletions

View file

@ -64,8 +64,14 @@ export const mcpCommand = async () => {
);
}
} catch (err: any) {
logger.warn(
{ err: err?.message ?? String(err) },
logger.error(
{
err: err?.message ?? String(err),
code: err?.code,
port: err?.port ?? process.env['GITNEXUS_OTEL_METRICS_PORT'],
host: err?.address ?? process.env['GITNEXUS_OTEL_METRICS_HOST'],
stack: err?.stack,
},
'GitNexus: failed to start metrics endpoint — continuing without metrics',
);
}

View file

@ -42,8 +42,14 @@ export const serveCommand = async (options?: { port?: string; host?: string }) =
);
}
} catch (metricsErr: any) {
logger.warn(
{ err: metricsErr?.message ?? String(metricsErr) },
logger.error(
{
err: metricsErr?.message ?? String(metricsErr),
code: metricsErr?.code,
port: metricsErr?.port ?? process.env['GITNEXUS_OTEL_METRICS_PORT'],
host: metricsErr?.address ?? process.env['GITNEXUS_OTEL_METRICS_HOST'],
stack: metricsErr?.stack,
},
'[gitnexus serve] failed to start metrics endpoint — continuing without metrics',
);
}