diff --git a/server/src/plugins/service-admin-http/index.ts b/server/src/plugins/service-admin-http/index.ts index 689ebe9..3aeb3d0 100644 --- a/server/src/plugins/service-admin-http/index.ts +++ b/server/src/plugins/service-admin-http/index.ts @@ -208,9 +208,17 @@ export class Plugin extends BSBService, typeof Event event.context.obs = reqObs; }, onError: (error, event) => { - const reqObs = event.context.obs ?? obs; + const reqObs = event.context.obs; const status = error.status ?? 500; const path = event.req.url ?? "unknown"; + if (!reqObs) { + obs.log.error("HTTP {status} {path}: {err} (no request trace)", { + status, + path, + err: error.message ?? String(error), + }); + return; + } if (status >= 500) { reqObs.log.error("HTTP {status} {path}: {err}", { status, diff --git a/server/src/plugins/service-api-http/index.ts b/server/src/plugins/service-api-http/index.ts index 1a4263f..b3e2799 100644 --- a/server/src/plugins/service-api-http/index.ts +++ b/server/src/plugins/service-api-http/index.ts @@ -177,9 +177,17 @@ export class Plugin extends BSBService, typeof Event event.context.obs = reqObs; }, onError: (error, event) => { - const reqObs = event.context.obs ?? obs; + const reqObs = event.context.obs; const status = error.status ?? 500; const path = event.req.url ?? "unknown"; + if (!reqObs) { + obs.log.error("HTTP {status} {path}: {err} (no request trace)", { + status, + path, + err: error.message ?? String(error), + }); + return; + } if (status >= 500) { reqObs.log.error("HTTP {status} {path}: {err}", { status,