async function readLastLogLine(filePath: string): Promise<string | null> { try { const raw = await fs.readFile(filePath, "utf8"); const lines = raw.split(/\r?\n/).map((line) => line.trim()); for (let i = lines.length - 1; i >= 0; i -= 1) { if (lines[i]) { return lines[i];
}
} returnnull;
} catch { returnnull;
}
}
export async function readLastGatewayErrorLine(env: NodeJS.ProcessEnv): Promise<string | null> { const { stdoutPath, stderrPath } = resolveGatewayLogPaths(env); const stderrRaw = await fs.readFile(stderrPath, "utf8").catch(() => ""); const stdoutRaw = await fs.readFile(stdoutPath, "utf8").catch(() => ""); const lines = [...stderrRaw.split(/\r?\n/), ...stdoutRaw.split(/\r?\n/)].map((line) =>
line.trim(),
); for (let i = lines.length - 1; i >= 0; i -= 1) { const line = lines[i]; if (!line) { continue;
} if (GATEWAY_LOG_ERROR_PATTERNS.some((pattern) => pattern.test(line))) { return line;
}
} return (await readLastLogLine(stderrPath)) ?? (await readLastLogLine(stdoutPath));
}
Messung V0.5 in Prozent
¤ Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.0.10Bemerkung:
(vorverarbeitet am 2026-06-10)
¤
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.