Align error logging with admin dashboard field conventions

All warn/error log calls now use field names the dashboard's decorate()
function recognizes: `code` for the error code pill, `httpStatus` for the
status badge and severity bucket, `url` for the sidebar link, and
`repoId` for the repository link.

Key changes:
- Streamer errors surface code, httpStatus, url, and nested err in Raw tab
- Nested `{ err: serializeError(e) }` replaced with spread pattern so
  error fields (name, message, status) appear at the top level
- Raw Error objects in catch blocks now go through serializeError()
- Rate limit, token, and PR 404 warnings include code + httpStatus
- Dashboard stack walker traverses both `cause` and `err` chains
- Dashboard Raw tab renders repoId, filePath, upstream*, err, and cause
- trimRawArg recursively trims stacks in nested err/cause chains
- clampPayload strips heavy nested fields before falling back to
  truncated placeholder, preserving flat diagnostic fields
This commit is contained in:
tdurieux
2026-05-07 05:54:18 +03:00
parent b8cfe293ea
commit 9403f15ac3
8 changed files with 63 additions and 18 deletions
+2 -2
View File
@@ -269,10 +269,10 @@ export default async function start() {
app.listen(config.PORT);
logger.info("server started", { port: config.PORT });
ensureTodaySnapshot().catch((err) =>
logger.error("ensureTodaySnapshot failed", { err })
logger.error("ensureTodaySnapshot failed", serializeError(err))
);
recoverStuckPreparing().catch((err) =>
logger.error("recoverStuckPreparing failed", { err })
logger.error("recoverStuckPreparing failed", serializeError(err))
);
}