From 60501de992d7c0bfcedbe2f91eca55ced5717a89 Mon Sep 17 00:00:00 2001 From: Philip Okugbe <16838612+Philipinho@users.noreply.github.com> Date: Thu, 29 Jan 2026 09:25:23 +0000 Subject: [PATCH] fix: missing logs on `OnApplicationBootstrap` hook (#1882) * - fix: set default Nest logger and bufferLogs to false for pino compatibility - handle redis error event * fix collab server logging too --- .../extensions/redis-sync/redis-sync.extension.ts | 2 ++ apps/server/src/collaboration/server/collab-main.ts | 3 ++- apps/server/src/main.ts | 10 ++++++++-- apps/server/src/ws/adapter/ws-redis.adapter.ts | 3 +++ 4 files changed, 15 insertions(+), 3 deletions(-) diff --git a/apps/server/src/collaboration/extensions/redis-sync/redis-sync.extension.ts b/apps/server/src/collaboration/extensions/redis-sync/redis-sync.extension.ts index 5b78b9c0..38747465 100644 --- a/apps/server/src/collaboration/extensions/redis-sync/redis-sync.extension.ts +++ b/apps/server/src/collaboration/extensions/redis-sync/redis-sync.extension.ts @@ -79,6 +79,8 @@ export class RedisSyncExtension implements Extension { this.customEvents = (customEvents as any) ?? ({} as any as CustomEvents); this.sub.subscribe(this.msgChannel, `${this.msgChannel}:${this.serverId}`); this.sub.on('messageBuffer', this.handleRedisMessage); + this.pub.on('error', () => {}); + this.sub.on('error', () => {}); } private getKey(documentName: string) { return `${this.lockPrefix}:${documentName}`; diff --git a/apps/server/src/collaboration/server/collab-main.ts b/apps/server/src/collaboration/server/collab-main.ts index 4a86a71b..4cac6878 100644 --- a/apps/server/src/collaboration/server/collab-main.ts +++ b/apps/server/src/collaboration/server/collab-main.ts @@ -19,7 +19,8 @@ async function bootstrap() { }, }), { - bufferLogs: true, + logger: false, + bufferLogs: false, }, ); diff --git a/apps/server/src/main.ts b/apps/server/src/main.ts index 406921a0..e8634a09 100644 --- a/apps/server/src/main.ts +++ b/apps/server/src/main.ts @@ -24,7 +24,11 @@ async function bootstrap() { }), { rawBody: true, - bufferLogs: true, + // disable Nest logger so pino handles all logs + // bufferLogs must be false else pino will fail + // to log OnApplicationBootstrap logs + logger: false, + bufferLogs: false, }, ); @@ -101,7 +105,9 @@ async function bootstrap() { const port = process.env.PORT || 3000; await app.listen(port, '0.0.0.0', () => { - logger.log(`Listening on http://127.0.0.1:${port} / ${process.env.APP_URL}`); + logger.log( + `Listening on http://127.0.0.1:${port} / ${process.env.APP_URL}`, + ); }); } diff --git a/apps/server/src/ws/adapter/ws-redis.adapter.ts b/apps/server/src/ws/adapter/ws-redis.adapter.ts index 5aae1c7c..a221c84a 100644 --- a/apps/server/src/ws/adapter/ws-redis.adapter.ts +++ b/apps/server/src/ws/adapter/ws-redis.adapter.ts @@ -23,6 +23,9 @@ export class WsRedisIoAdapter extends IoAdapter { const pubClient = new Redis(process.env.REDIS_URL, options); const subClient = new Redis(process.env.REDIS_URL, options); + pubClient.on('error', (err) => () => {}); + subClient.on('error', (err) => () => {}); + this.adapterConstructor = createAdapter(pubClient, subClient); }