From 3da092bd22b1d3b3582b66a05c617a9419c597be Mon Sep 17 00:00:00 2001 From: Reinis Martinsons Date: Fri, 19 Dec 2025 14:53:27 +0000 Subject: [PATCH 1/2] fix(logger): pino pagerduty transport Signed-off-by: Reinis Martinsons --- packages/logger/src/index.ts | 2 +- .../logger/src/{pinoLogger.ts => pinoLogger/Logger.ts} | 4 ++-- packages/logger/src/pinoLogger/Transports.ts | 10 ++++++++++ 3 files changed, 13 insertions(+), 3 deletions(-) rename packages/logger/src/{pinoLogger.ts => pinoLogger/Logger.ts} (91%) create mode 100644 packages/logger/src/pinoLogger/Transports.ts diff --git a/packages/logger/src/index.ts b/packages/logger/src/index.ts index 2891c19524..35f1d8a3d5 100644 --- a/packages/logger/src/index.ts +++ b/packages/logger/src/index.ts @@ -5,4 +5,4 @@ export * from "./logger/Logger"; export * from "./logger/SpyTransport"; export * from "./logger/ConsoleTransport"; export * from "./logger/Formatters"; -export * from "./pinoLogger"; +export * from "./pinoLogger/Logger"; diff --git a/packages/logger/src/pinoLogger.ts b/packages/logger/src/pinoLogger/Logger.ts similarity index 91% rename from packages/logger/src/pinoLogger.ts rename to packages/logger/src/pinoLogger/Logger.ts index 40837d8d51..c9aac4b9fe 100644 --- a/packages/logger/src/pinoLogger.ts +++ b/packages/logger/src/pinoLogger/Logger.ts @@ -1,7 +1,7 @@ import { pino, LevelWithSilentOrString, Logger as PinoLogger, LoggerOptions as PinoLoggerOptions } from "pino"; import { createGcpLoggingPinoConfig } from "@google-cloud/pino-logging-gcp-config"; -import { noBotId } from "./constants"; -import { generateRandomRunId } from "./logger/Logger"; +import { noBotId } from "../constants"; +import { generateRandomRunId } from "../logger/Logger"; export type { PinoLogger }; export type { PinoLoggerOptions }; diff --git a/packages/logger/src/pinoLogger/Transports.ts b/packages/logger/src/pinoLogger/Transports.ts new file mode 100644 index 0000000000..afdbebed21 --- /dev/null +++ b/packages/logger/src/pinoLogger/Transports.ts @@ -0,0 +1,10 @@ +import { transport } from "pino"; + +export function createPinoTransports(): ReturnType { + return transport({ + targets: [ + // stdout (GCP Logging) + { target: "pino/file", options: { destination: 1 } }, + ], + }); +} From 6f70b8a3f568b18e9a8efaf6f8aa46ce2633778e Mon Sep 17 00:00:00 2001 From: Reinis Martinsons Date: Thu, 15 Jan 2026 10:25:59 +0000 Subject: [PATCH 2/2] wip Signed-off-by: Reinis Martinsons --- packages/discord-ticket-api/src/server.ts | 15 +++++++-------- packages/logger/src/pinoLogger/Logger.ts | 4 ++-- packages/logger/src/pinoLogger/Transports.ts | 3 ++- 3 files changed, 11 insertions(+), 11 deletions(-) diff --git a/packages/discord-ticket-api/src/server.ts b/packages/discord-ticket-api/src/server.ts index c9d665fec7..1af6fe830e 100644 --- a/packages/discord-ticket-api/src/server.ts +++ b/packages/discord-ticket-api/src/server.ts @@ -1,8 +1,8 @@ -import Fastify from "fastify"; +import Fastify, { FastifyBaseLogger } from "fastify"; import helmet from "@fastify/helmet"; import cors from "@fastify/cors"; import sensible from "@fastify/sensible"; -import { createPinoConfig } from "@uma/logger"; +import { createPinoLogger } from "@uma/logger"; import { loadEnv } from "./env.js"; import { createQueue } from "./queue.js"; import { TicketQueueService } from "./services/TicketService.js"; @@ -10,12 +10,11 @@ import { ticketsRoutes } from "./routes/tickets.js"; export async function buildServer(): Promise<{ app: ReturnType; start: () => Promise }> { const env = loadEnv(); - const app = Fastify({ - logger: createPinoConfig({ - level: process.env.LOG_LEVEL || "info", - botIdentifier: process.env.BOT_IDENTIFIER || "ticketing-api", - }), - }); + const logger = createPinoLogger({ + level: process.env.LOG_LEVEL || "info", + botIdentifier: process.env.BOT_IDENTIFIER || "ticketing-api", + }) as FastifyBaseLogger; + const app = Fastify({ loggerInstance: logger }); await app.register(helmet); await app.register(cors, { origin: true, credentials: true }); diff --git a/packages/logger/src/pinoLogger/Logger.ts b/packages/logger/src/pinoLogger/Logger.ts index c9aac4b9fe..34a89b7947 100644 --- a/packages/logger/src/pinoLogger/Logger.ts +++ b/packages/logger/src/pinoLogger/Logger.ts @@ -2,6 +2,7 @@ import { pino, LevelWithSilentOrString, Logger as PinoLogger, LoggerOptions as P import { createGcpLoggingPinoConfig } from "@google-cloud/pino-logging-gcp-config"; import { noBotId } from "../constants"; import { generateRandomRunId } from "../logger/Logger"; +import { createPinoTransports } from "./Transports"; export type { PinoLogger }; export type { PinoLoggerOptions }; @@ -15,9 +16,8 @@ type CustomPinoLoggerOptions = { export function createPinoLogger({ botIdentifier = process.env.BOT_IDENTIFIER || noBotId, runIdentifier = process.env.RUN_IDENTIFIER || generateRandomRunId(), - level = "info", }: Partial = {}): PinoLogger { - return pino(createPinoConfig({ botIdentifier, runIdentifier, level })); + return pino(createPinoConfig({ botIdentifier, runIdentifier }), createPinoTransports()); } export function createPinoConfig({ diff --git a/packages/logger/src/pinoLogger/Transports.ts b/packages/logger/src/pinoLogger/Transports.ts index afdbebed21..adefe3b9cd 100644 --- a/packages/logger/src/pinoLogger/Transports.ts +++ b/packages/logger/src/pinoLogger/Transports.ts @@ -1,10 +1,11 @@ import { transport } from "pino"; export function createPinoTransports(): ReturnType { + const level = "error"; return transport({ targets: [ // stdout (GCP Logging) - { target: "pino/file", options: { destination: 1 } }, + { target: "pino/file", level, options: { destination: 1 } }, ], }); }