fix: include fetch timeout context in console logs

This commit is contained in:
Peter Steinberger
2026-05-02 02:38:00 +01:00
parent 31b955a4f1
commit 9cbd07a9bf
2 changed files with 13 additions and 1 deletions

View File

@@ -37,6 +37,8 @@ describe("buildTimeoutAbortSignal", () => {
timeoutMs: 25,
operation: "unit-test",
url: "https://example.com/v1/responses",
consoleMessage:
"fetch timeout after 25ms (elapsed 25ms) operation=unit-test url=https://example.com/v1/responses",
}),
);

View File

@@ -64,9 +64,19 @@ function abortDueToTimeout(
return;
}
const sanitizedUrl = sanitizeTimeoutLogUrl(url);
const elapsedMs = Math.max(0, Date.now() - startedAtMs);
const consoleMessage = [
`fetch timeout after ${timeoutMs}ms`,
`(elapsed ${elapsedMs}ms)`,
operation ? `operation=${operation}` : null,
sanitizedUrl ? `url=${sanitizedUrl}` : null,
]
.filter((part): part is string => Boolean(part))
.join(" ");
log.warn("fetch timeout reached; aborting operation", {
timeoutMs,
elapsedMs: Math.max(0, Date.now() - startedAtMs),
elapsedMs,
consoleMessage,
...(operation ? { operation } : {}),
...(sanitizedUrl ? { url: sanitizedUrl } : {}),
});