From 98ea63197845ca36ce1bb2ab0fa5c3d89940e0d9 Mon Sep 17 00:00:00 2001 From: acelinkio <31336038+acelinkio@users.noreply.github.com> Date: Wed, 7 Jan 2026 00:34:40 -0800 Subject: [PATCH] api: add Elysia logging (#1259) --- api/bun.lock | 7 +++++-- api/package.json | 3 ++- api/src/index.ts | 11 +++++++++++ 3 files changed, 18 insertions(+), 3 deletions(-) diff --git a/api/bun.lock b/api/bun.lock index 35dd0ac8..ece6762f 100644 --- a/api/bun.lock +++ b/api/bun.lock @@ -8,7 +8,8 @@ "@elysiajs/opentelemetry": "^1.4.10", "@elysiajs/swagger": "zoriya/elysia-swagger#build", "@kubiks/otel-drizzle": "zoriya/drizzle-otel#build", - "@logtape/logtape": "^1.3.5", + "@logtape/elysia": "1.4.0-dev.461", + "@logtape/logtape": "1.3.6", "@logtape/otel": "^1.3.5", "@logtape/redaction": "^1.3.5", "@opentelemetry/api": "^1.9.0", @@ -186,7 +187,9 @@ "@kubiks/otel-drizzle": ["@kubiks/otel-drizzle@github:zoriya/drizzle-otel#cc1d59b", { "peerDependencies": { "@opentelemetry/api": ">=1.9.0 <2.0.0", "drizzle-orm": ">=0.28.0" } }, "zoriya-drizzle-otel-cc1d59b"], - "@logtape/logtape": ["@logtape/logtape@1.3.5", "", {}, "sha512-G+MxWB7Tbv/2764519+Cp6rKXUdRbe/GiRwTvlm/Wv/sNsiquRnx9Hzr9eXaIpAYLT4PrBlkthjJ4gmqdSPrFg=="], + "@logtape/elysia": ["@logtape/elysia@1.4.0-dev.461", "", { "peerDependencies": { "@logtape/logtape": "^1.4.0-dev.461+fd7a5594", "elysia": "^1.4.0" } }, "sha512-ngfDFD17ZFY0lW7g+4iskRUJPeu07fV9vroa0WGkuzN3fKGaP3iAqvg88m3qGw1s1Dr6HH7T1UVHDC0IimQQlg=="], + + "@logtape/logtape": ["@logtape/logtape@1.3.6", "", {}, "sha512-OaK8eal8zcjB0GZbllXKgUC2T9h/GyNLQyQXjJkf1yum7SZKTWs9gs/t8NMS0kVVaSnA7bhU0Sjws/Iy4e0/IQ=="], "@logtape/otel": ["@logtape/otel@1.3.5", "", { "dependencies": { "@opentelemetry/api": "^1.9.0", "@opentelemetry/api-logs": "^0.208.0", "@opentelemetry/exporter-logs-otlp-grpc": "^0.208.0", "@opentelemetry/exporter-logs-otlp-http": "^0.208.0", "@opentelemetry/exporter-logs-otlp-proto": "^0.208.0", "@opentelemetry/otlp-exporter-base": "^0.208.0", "@opentelemetry/resources": "^2.2.0", "@opentelemetry/sdk-logs": "^0.208.0", "@opentelemetry/semantic-conventions": "^1.38.0" }, "peerDependencies": { "@logtape/logtape": "^1.3.5" } }, "sha512-lsXIC/j3U148PuNXl36o7tPAxCvdn+hlqNT446e7PpCKLbnnp+o2XhQ+wdXaNRi491STR0GyblpX/r+7+6tG/A=="], diff --git a/api/package.json b/api/package.json index 68b89ec4..06245612 100644 --- a/api/package.json +++ b/api/package.json @@ -12,7 +12,8 @@ "@elysiajs/opentelemetry": "^1.4.10", "@elysiajs/swagger": "zoriya/elysia-swagger#build", "@kubiks/otel-drizzle": "zoriya/drizzle-otel#build", - "@logtape/logtape": "^1.3.5", + "@logtape/elysia": "1.4.0-dev.461", + "@logtape/logtape": "1.3.6", "@logtape/otel": "^1.3.5", "@logtape/redaction": "^1.3.5", "@opentelemetry/api": "^1.9.0", diff --git a/api/src/index.ts b/api/src/index.ts index 57902e42..e76985f9 100644 --- a/api/src/index.ts +++ b/api/src/index.ts @@ -1,5 +1,6 @@ import { opentelemetry } from "@elysiajs/opentelemetry"; import { swagger } from "@elysiajs/swagger"; +import { elysiaLogger } from "@logtape/elysia"; import { getLogger } from "@logtape/logtape"; import { Elysia } from "elysia"; import { handlers } from "./base"; @@ -17,8 +18,18 @@ await migrate(); const disposeImages = await processImages(); +const PATH_IGNORE = new Set(["/api/health", "/api/ready"]); +logger.info("Skipping request logging for these paths: {dropList}", { + dropList: Array.from(PATH_IGNORE).sort(), +}); + const app = new Elysia() .use(opentelemetry()) + .use( + elysiaLogger({ + skip: (ctx) => PATH_IGNORE.has(ctx.path), + }), + ) .use( swagger({ scalarConfig: {