refactor: centralize restart log conventions

This commit is contained in:
Peter Steinberger
2026-04-18 19:05:21 +01:00
parent a7e029fde9
commit 28be124cc1
12 changed files with 175 additions and 32 deletions

View File

@@ -28,11 +28,13 @@ vi.mock("../../daemon/inspect.js", () => ({
renderGatewayServiceCleanupHints: () => [],
}));
vi.mock("../../daemon/launchd.js", () => ({
vi.mock("../../daemon/restart-logs.js", () => ({
resolveGatewayLogPaths: () => ({
logDir: "/tmp",
stdoutPath: "/tmp/gateway.out.log",
stderrPath: "/tmp/gateway.err.log",
}),
resolveGatewayRestartLogPath: () => "/tmp/gateway-restart.log",
}));
vi.mock("../../daemon/systemd-hints.js", () => ({

View File

@@ -4,7 +4,7 @@ import {
resolveGatewaySystemdServiceName,
} from "../../daemon/constants.js";
import { renderGatewayServiceCleanupHints } from "../../daemon/inspect.js";
import { resolveGatewayLogPaths } from "../../daemon/launchd.js";
import { resolveGatewayLogPaths, resolveGatewayRestartLogPath } from "../../daemon/restart-logs.js";
import {
isSystemdUnavailableDetail,
renderSystemdUnavailableHints,
@@ -288,20 +288,23 @@ export function printDaemonStatus(status: DaemonStatus, opts: { json: boolean })
defaultRuntime.error(
errorText(`Gateway port ${status.port.port} is not listening (service appears running).`),
);
const serviceEnv = { ...process.env, ...service.command?.environment };
if (status.lastError) {
defaultRuntime.error(`${errorText("Last gateway error:")} ${status.lastError}`);
}
if (process.platform === "linux") {
const env = service.command?.environment ?? process.env;
const unit = resolveGatewaySystemdServiceName(env.OPENCLAW_PROFILE);
const unit = resolveGatewaySystemdServiceName(serviceEnv.OPENCLAW_PROFILE);
defaultRuntime.error(
errorText(`Logs: journalctl --user -u ${unit}.service -n 200 --no-pager`),
);
} else if (process.platform === "darwin") {
const logs = resolveGatewayLogPaths(service.command?.environment ?? process.env);
const logs = resolveGatewayLogPaths(serviceEnv);
defaultRuntime.error(`${errorText("Logs:")} ${shortenHomePath(logs.stdoutPath)}`);
defaultRuntime.error(`${errorText("Errors:")} ${shortenHomePath(logs.stderrPath)}`);
}
defaultRuntime.error(
`${errorText("Restart log:")} ${shortenHomePath(resolveGatewayRestartLogPath(serviceEnv))}`,
);
spacer();
}