diff --git a/apps/server/src/collaboration/collaboration.module.ts b/apps/server/src/collaboration/collaboration.module.ts index bd5e1e6f..30cb0ccf 100644 --- a/apps/server/src/collaboration/collaboration.module.ts +++ b/apps/server/src/collaboration/collaboration.module.ts @@ -1,4 +1,4 @@ -import { Module, OnModuleDestroy, OnModuleInit } from '@nestjs/common'; +import { Logger, Module, OnModuleDestroy, OnModuleInit } from '@nestjs/common'; import { AuthenticationExtension } from './extensions/authentication.extension'; import { PersistenceExtension } from './extensions/persistence.extension'; import { CollaborationGateway } from './collaboration.gateway'; @@ -22,6 +22,7 @@ import { LoggerExtension } from './extensions/logger.extension'; imports: [TokenModule], }) export class CollaborationModule implements OnModuleInit, OnModuleDestroy { + private readonly logger = new Logger(CollaborationModule.name); private collabWsAdapter: CollabWsAdapter; private path = '/collab'; @@ -38,7 +39,15 @@ export class CollaborationModule implements OnModuleInit, OnModuleDestroy { wss.on('connection', (client: WebSocket, request: IncomingMessage) => { this.collaborationGateway.handleConnection(client, request); + + client.on('error', (error) => { + this.logger.error('WebSocket client error:', error); + }); }); + + wss.on('error', (error) => + this.logger.log('WebSocket server error:', error), + ); } async onModuleDestroy(): Promise { diff --git a/apps/server/src/collaboration/extensions/persistence.extension.ts b/apps/server/src/collaboration/extensions/persistence.extension.ts index a1f9f519..3c206e1a 100644 --- a/apps/server/src/collaboration/extensions/persistence.extension.ts +++ b/apps/server/src/collaboration/extensions/persistence.extension.ts @@ -130,7 +130,7 @@ export class PersistenceExtension implements Extension { ); this.contributors.delete(documentName); } catch (err) { - this.logger.log('Contributors error:' + err?.['message']); + this.logger.debug('Contributors error:' + err?.['message']); } await this.pageRepo.updatePage( diff --git a/apps/server/src/main.ts b/apps/server/src/main.ts index 95df255d..a371b9b9 100644 --- a/apps/server/src/main.ts +++ b/apps/server/src/main.ts @@ -4,12 +4,7 @@ import { FastifyAdapter, NestFastifyApplication, } from '@nestjs/platform-fastify'; -import { - Logger, - NotFoundException, - RequestMethod, - ValidationPipe, -} from '@nestjs/common'; +import { Logger, NotFoundException, ValidationPipe } from '@nestjs/common'; import { TransformHttpResponseInterceptor } from './common/interceptors/http-response.interceptor'; import { WsRedisIoAdapter } from './ws/adapter/ws-redis.adapter'; import { InternalLogFilter } from './common/logger/internal-log-filter'; @@ -92,6 +87,14 @@ async function bootstrap() { const logger = new Logger('NestApplication'); + process.on('unhandledRejection', (reason, promise) => { + logger.error(`UnhandledRejection: ${promise}, reason: ${reason}`); + }); + + process.on('uncaughtException', (error) => { + logger.error('UncaughtException:', error); + }); + const port = process.env.PORT || 3000; await app.listen(port, '0.0.0.0', () => { logger.log(