Skip to content

Commit 7941a2e

Browse files
authored
Logging graphql query shape as part of request initialization (#239)
1 parent 7f12f33 commit 7941a2e

2 files changed

Lines changed: 12 additions & 2 deletions

File tree

src/context.ts

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,6 @@ import { APP_ENV } from "~/env";
1212
import { Logger } from "~/logging";
1313
import { Context } from "~/types";
1414

15-
//
1615
export const createGraphqlContext = async ({
1716
request,
1817
NEON_URL,
@@ -30,10 +29,13 @@ export const createGraphqlContext = async ({
3029
MERCADOPAGO_KEY,
3130
RPC_SERVICE_EMAIL,
3231
logger,
32+
params,
3333
}: YogaInitialContext &
3434
Env & {
3535
logger: Logger;
3636
}): Promise<Context> => {
37+
logger.info("graphql-params", params);
38+
3739
if (!MAIL_QUEUE) {
3840
throw new Error("Missing MAIL_QUEUE");
3941
}

src/index.ts

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -71,9 +71,11 @@ export const yoga = createYoga<Env>({
7171

7272
export default {
7373
fetch: async (req: Request, env: Env, ctx: ExecutionContext) => {
74+
const externalTraceId = req.headers.get("x-trace-id");
75+
const traceId = crypto.randomUUID();
7476
const logger = createLogger("graphql", {
7577
externalTraceId: req.headers.get("x-trace-id"),
76-
traceId: crypto.randomUUID(),
78+
traceId,
7779
});
7880

7981
logTraceId(req, logger);
@@ -86,6 +88,12 @@ export default {
8688
{ ...ctx, logger },
8789
);
8890

91+
if (externalTraceId) {
92+
response.headers.set("x-trace-id", externalTraceId.toString());
93+
}
94+
95+
response.headers.set("x-api-trace-id", traceId);
96+
8997
logger.info("🏁 — End Request");
9098

9199
return response;

0 commit comments

Comments
 (0)