From 157dc327e8fe63541b517cfbeeaf202a3e8553a5 Mon Sep 17 00:00:00 2001 From: Elizabeth Hunt Date: Sun, 15 Dec 2024 14:03:55 -0800 Subject: attach the request id during the job --- src/api.ts | 21 +++++++++++++-------- 1 file changed, 13 insertions(+), 8 deletions(-) (limited to 'src/api.ts') diff --git a/src/api.ts b/src/api.ts index 946826b..6f7db38 100644 --- a/src/api.ts +++ b/src/api.ts @@ -1,6 +1,6 @@ import { perform } from "./email"; import { redactJob, type EmailJob } from "./job"; -import { ConsoleLogger } from "./logger"; +import { ConsoleLogger, type Logger } from "./logger"; export const main = (port: number) => { const server = Bun.serve({ @@ -14,27 +14,32 @@ export const main = (port: number) => { const jobInsensitive = redactJob(job); const uuid = crypto.randomUUID(); - ConsoleLogger.info( - `[${uuid}] Received email job: ${JSON.stringify(jobInsensitive)}`, + const logger: Logger = { + info: (message) => ConsoleLogger.info(`[${uuid}] ${message}`), + warn: (message) => ConsoleLogger.warn(`[${uuid}] ${message}`), + error: (message) => ConsoleLogger.error(`[${uuid}] ${message}`), + } + logger.info( + `Received email job: ${JSON.stringify(jobInsensitive)}`, )(); - const performEmailTest = perform(job)(); + const performEmailTest = perform(job, undefined, logger)(); return performEmailTest .then((result) => { if (result._tag === "Left") { const error = result.left; - ConsoleLogger.warn( - `[${uuid}] job failure due to ${error.message}`, + logger.warn( + `job failure due to ${error.message}`, )(); return new Response(error.message, { status: 400, }); } - ConsoleLogger.info(`[${uuid}] success`)(); + logger.info('success')(); return Response.json({ success: true }); }) .catch((e) => { - ConsoleLogger.error(`[${uuid}] internal failure due to ${e}`)(); + logger.error(`internal failure due to ${e}`)(); return new Response(e.message, { status: 500, }); -- cgit v1.2.3-70-g09d2