From 2c0d7236c6455adf6a14a0430e4a7ae59bb26261 Mon Sep 17 00:00:00 2001 From: Elizabeth Alexander Hunt Date: Sat, 10 May 2025 21:21:41 -0700 Subject: Slightly more dense logging in the hooks server --- hooks/mod.ts | 24 +++++++++++++++++++----- 1 file changed, 19 insertions(+), 5 deletions(-) diff --git a/hooks/mod.ts b/hooks/mod.ts index a8f649c..767720a 100644 --- a/hooks/mod.ts +++ b/hooks/mod.ts @@ -1,20 +1,34 @@ #!/usr/bin/env -S deno run --allow-env --allow-net -import { getStdout, validateIdentifier, getRequiredEnv } from "@liz-ci/utils"; +import { getRequiredEnv, getStdout, validateIdentifier } from "@liz-ci/utils"; -getRequiredEnv("LAMINAR_HOST"); +const getRequestLogger = (req: Request) => { + const id = crypto.randomUUID(); + const url = new URL(req.url); + const method = req.method; + const getPrefix = () => + `[${new Date().toISOString()}] Request [${id}] @ [${url}] -X [${method}] |`; + return { + log: (...args: unknown[]) => console.log(getPrefix(), ...args), + error: (...args: unknown[]) => console.error(getPrefix(), ...args), + }; +}; const addr = { port: 9000, hostname: "0.0.0.0" }; Deno.serve(addr, async (req) => { + const logger = getRequestLogger(req); + logger.log("Request initiated"); + const { pathname } = new URL(req.url); if (pathname === "/health") { try { + getRequiredEnv("LAMINAR_HOST"); await getStdout(["laminarc", "show-jobs"]); return new Response("think im healthy. lets get to work.", { status: 200, }); } catch (e) { - console.error(e); + logger.error(e); return new Response("i need to eat more vegetables -.-", { status: 500 }); } } @@ -42,12 +56,12 @@ Deno.serve(addr, async (req) => { `rev="${rev}"`, `refname="${refname}"`, ]); - console.log(`successful ci queue :D\n` + laminar); + logger.log(`successful ci queue :D\n` + laminar); return new Response(laminar, { status: 200, }); } catch (e) { - console.error(e); + logger.error(e); return new Response("womp womp D:", { status: 500, }); -- cgit v1.2.3-70-g09d2