From efb78ff14e169982c6cacf537e547fc4b7d99dd9 Mon Sep 17 00:00:00 2001 From: Julien Calixte Date: Sun, 15 Feb 2026 08:59:37 +0100 Subject: [PATCH] logs: add ISO timestamp to all log output --- jetstream.ts | 13 +++++++------ server.ts | 3 ++- src/log.ts | 4 ++++ 3 files changed, 13 insertions(+), 7 deletions(-) create mode 100644 src/log.ts diff --git a/jetstream.ts b/jetstream.ts index 5056ead..a898661 100644 --- a/jetstream.ts +++ b/jetstream.ts @@ -1,6 +1,7 @@ import { Jetstream } from "@skyware/jetstream"; import { deleteNote, upsertNote } from "./src/data/db.ts"; import { Note } from "./src/data/note.ts"; +import { log } from "./src/log.ts"; const jetstream = new Jetstream({ wantedCollections: ["space.remanso.note"], @@ -9,7 +10,7 @@ const jetstream = new Jetstream({ jetstream.onCreate("space.remanso.note", (event) => { const { did, commit: { rkey, record } } = event; const note = record as unknown as Omit - console.log(`[jetstream] create ${did}/${rkey}: ${note.title}`); + log(`[jetstream] create ${did}/${rkey}: ${note.title}`); upsertNote({ did, @@ -21,7 +22,7 @@ jetstream.onCreate("space.remanso.note", (event) => { jetstream.onUpdate("space.remanso.note", (event) => { const { did, commit: { rkey, record } } = event; const note = record as unknown as Omit - console.log(`[jetstream] update ${did}/${rkey}: ${note.title}, published at ${note.publishedAt}`); + log(`[jetstream] update ${did}/${rkey}: ${note.title}, published at ${note.publishedAt}`); upsertNote({ did, @@ -32,19 +33,19 @@ jetstream.onUpdate("space.remanso.note", (event) => { jetstream.onDelete("space.remanso.note", (event) => { const { did, commit: { rkey } } = event; - console.log(`[jetstream] delete ${did}/${rkey}`); + log(`[jetstream] delete ${did}/${rkey}`); deleteNote({ did, rkey }); }); jetstream.on("close", () => { - console.log("[jetstream] connection closed"); + log("[jetstream] connection closed"); }); jetstream.on("error", (error) => { - console.log("[jetstream] connection closed with error", error); + log("[jetstream] connection closed with error", error); }); -console.log("[jetstream] launching"); +log("[jetstream] launching"); jetstream.start(); diff --git a/server.ts b/server.ts index dbd59d3..325130c 100644 --- a/server.ts +++ b/server.ts @@ -1,6 +1,7 @@ import { Application, Router } from "@oak/oak"; import { deleteNote, getNotes, getNotesByDid } from "./src/data/db.ts"; import { authenticateRequest } from "./src/auth/verify.ts"; +import { log } from "./src/log.ts"; const router = new Router(); @@ -60,5 +61,5 @@ app.use(async (ctx, next) => { app.use(router.routes()); app.use(router.allowedMethods()); -console.log("[server] listening on port 8080"); +log("[server] listening on port 8080"); app.listen({ port: 8080 }); diff --git a/src/log.ts b/src/log.ts new file mode 100644 index 0000000..407a602 --- /dev/null +++ b/src/log.ts @@ -0,0 +1,4 @@ +export function log(message: string, ...args: unknown[]) { + const timestamp = new Date().toISOString(); + console.log(`${timestamp} ${message}`, ...args); +}