diff --git a/packages/analytics/src/Bootstrap/Container.ts b/packages/analytics/src/Bootstrap/Container.ts index 1dd56ac51..0931aad8f 100644 --- a/packages/analytics/src/Bootstrap/Container.ts +++ b/packages/analytics/src/Bootstrap/Container.ts @@ -84,6 +84,7 @@ export class ContainerConfigLoader { level: env.get('LOG_LEVEL', true) || 'info', format: winston.format.combine(...winstonFormatters), transports: [new winston.transports.Console({ level: env.get('LOG_LEVEL', true) || 'info' })], + defaultMeta: { service: 'analytics' }, }) container.bind(TYPES.Logger).toConstantValue(logger) diff --git a/packages/api-gateway/src/Service/gRPC/GRPCSyncingServerServiceProxy.ts b/packages/api-gateway/src/Service/gRPC/GRPCSyncingServerServiceProxy.ts index 084eefe7e..84a15f301 100644 --- a/packages/api-gateway/src/Service/gRPC/GRPCSyncingServerServiceProxy.ts +++ b/packages/api-gateway/src/Service/gRPC/GRPCSyncingServerServiceProxy.ts @@ -43,11 +43,10 @@ export class GRPCSyncingServerServiceProxy { } if (error.code === Status.INTERNAL) { - this.logger.error( - `[GRPCSyncingServerServiceProxy][${response.locals.user.uuid}] Internal gRPC error: ${ - error.message - }. Payload: ${JSON.stringify(payload)}`, - ) + this.logger.error(`Internal gRPC error: ${error.message}. Payload: ${JSON.stringify(payload)}`, { + codeTag: 'GRPCSyncingServerServiceProxy', + userId: response.locals.user.uuid, + }) } return reject(error) @@ -60,11 +59,10 @@ export class GRPCSyncingServerServiceProxy { 'code' in (error as Record) && (error as Record).code === Status.INTERNAL ) { - this.logger.error( - `[GRPCSyncingServerServiceProxy][${response.locals.user.uuid}] Internal gRPC error: ${JSON.stringify( - error, - )}. Payload: ${JSON.stringify(payload)}`, - ) + this.logger.error(`Internal gRPC error: ${JSON.stringify(error)}. Payload: ${JSON.stringify(payload)}`, { + codeTag: 'GRPCSyncingServerServiceProxy.catch', + userId: response.locals.user.uuid, + }) } reject(error) diff --git a/packages/auth/src/Bootstrap/Container.ts b/packages/auth/src/Bootstrap/Container.ts index 785c94393..93f62f6e8 100644 --- a/packages/auth/src/Bootstrap/Container.ts +++ b/packages/auth/src/Bootstrap/Container.ts @@ -310,7 +310,7 @@ export class ContainerConfigLoader { level: env.get('LOG_LEVEL', true) || 'info', format: winston.format.combine(...winstonFormatters), transports: [new winston.transports.Console({ level: env.get('LOG_LEVEL', true) || 'info' })], - defaultMeta: { service: 'auth' }, + defaultMeta: { service: `auth:${this.mode}` }, }) } container.bind(TYPES.Auth_Logger).toConstantValue(logger) diff --git a/packages/files/bin/server.ts b/packages/files/bin/server.ts index c8531504b..057abb600 100644 --- a/packages/files/bin/server.ts +++ b/packages/files/bin/server.ts @@ -19,7 +19,7 @@ import { ContainerConfigLoader } from '../src/Bootstrap/Container' import TYPES from '../src/Bootstrap/Types' import { Env } from '../src/Bootstrap/Env' -const container = new ContainerConfigLoader() +const container = new ContainerConfigLoader('server') void container.load().then((container) => { const env: Env = new Env() env.load() diff --git a/packages/files/bin/worker.ts b/packages/files/bin/worker.ts index 4ba1fedb3..281cf5da3 100644 --- a/packages/files/bin/worker.ts +++ b/packages/files/bin/worker.ts @@ -9,7 +9,7 @@ import { DomainEventSubscriberInterface } from '@standardnotes/domain-events' import * as dayjs from 'dayjs' import * as utc from 'dayjs/plugin/utc' -const container = new ContainerConfigLoader() +const container = new ContainerConfigLoader('worker') void container.load().then((container) => { dayjs.extend(utc) diff --git a/packages/files/src/Bootstrap/Container.ts b/packages/files/src/Bootstrap/Container.ts index a5bd5299d..84a8b42b6 100644 --- a/packages/files/src/Bootstrap/Container.ts +++ b/packages/files/src/Bootstrap/Container.ts @@ -54,6 +54,8 @@ import { MoveFile } from '../Domain/UseCase/MoveFile/MoveFile' import { SharedVaultValetTokenAuthMiddleware } from '../Infra/InversifyExpress/Middleware/SharedVaultValetTokenAuthMiddleware' export class ContainerConfigLoader { + constructor(private mode: 'server' | 'worker' = 'server') {} + async load(configuration?: { directCallDomainEventPublisher?: DirectCallDomainEventPublisher logger?: Transform @@ -316,7 +318,7 @@ export class ContainerConfigLoader { level: env.get('LOG_LEVEL', true) || 'info', format: winston.format.combine(winston.format.splat(), winston.format.json()), transports: [new winston.transports.Console({ level: env.get('LOG_LEVEL', true) || 'info' })], - defaultMeta: { service: 'files' }, + defaultMeta: { service: `files:${this.mode}` }, }) } } diff --git a/packages/revisions/src/Bootstrap/Container.ts b/packages/revisions/src/Bootstrap/Container.ts index 8740e8b96..45e78e8e6 100644 --- a/packages/revisions/src/Bootstrap/Container.ts +++ b/packages/revisions/src/Bootstrap/Container.ts @@ -90,7 +90,7 @@ export class ContainerConfigLoader { level: env.get('LOG_LEVEL', true) || 'info', format: winston.format.combine(...winstonFormatters), transports: [new winston.transports.Console({ level: env.get('LOG_LEVEL', true) || 'info' })], - defaultMeta: { service: 'revisions' }, + defaultMeta: { service: `revisions:${this.mode}` }, }) } container.bind(TYPES.Revisions_Logger).toConstantValue(logger) diff --git a/packages/scheduler/src/Bootstrap/Container.ts b/packages/scheduler/src/Bootstrap/Container.ts index e3b2ccf24..b6dfefadd 100644 --- a/packages/scheduler/src/Bootstrap/Container.ts +++ b/packages/scheduler/src/Bootstrap/Container.ts @@ -62,6 +62,7 @@ export class ContainerConfigLoader { level: env.get('LOG_LEVEL', true) || 'info', format: winston.format.combine(...winstonFormatters), transports: [new winston.transports.Console({ level: env.get('LOG_LEVEL', true) || 'info' })], + defaultMeta: { service: 'scheduler' }, }) container.bind(TYPES.Logger).toConstantValue(logger) diff --git a/packages/syncing-server/src/Bootstrap/Container.ts b/packages/syncing-server/src/Bootstrap/Container.ts index be77a02a4..8140429a6 100644 --- a/packages/syncing-server/src/Bootstrap/Container.ts +++ b/packages/syncing-server/src/Bootstrap/Container.ts @@ -195,7 +195,7 @@ export class ContainerConfigLoader { level: env.get('LOG_LEVEL', true) || 'info', format: winston.format.combine(...winstonFormatters), transports: [new winston.transports.Console({ level: env.get('LOG_LEVEL', true) || 'info' })], - defaultMeta: { service: 'syncing-server' }, + defaultMeta: { service: `syncing-server:${this.mode}` }, }) } container.bind(TYPES.Sync_Logger).toConstantValue(logger) diff --git a/packages/websockets/src/Bootstrap/Container.ts b/packages/websockets/src/Bootstrap/Container.ts index 777f2487b..854125de0 100644 --- a/packages/websockets/src/Bootstrap/Container.ts +++ b/packages/websockets/src/Bootstrap/Container.ts @@ -49,6 +49,7 @@ export class ContainerConfigLoader { level: env.get('LOG_LEVEL', true) || 'info', format: winston.format.combine(...winstonFormatters), transports: [new winston.transports.Console({ level: env.get('LOG_LEVEL', true) || 'info' })], + defaultMeta: { service: `websockets:${this.mode}` }, }) container.bind(TYPES.Logger).toConstantValue(logger) diff --git a/packages/websockets/src/Domain/Handler/WebSocketMessageRequestedEventHandler.ts b/packages/websockets/src/Domain/Handler/WebSocketMessageRequestedEventHandler.ts index 849be62a2..eb56183ac 100644 --- a/packages/websockets/src/Domain/Handler/WebSocketMessageRequestedEventHandler.ts +++ b/packages/websockets/src/Domain/Handler/WebSocketMessageRequestedEventHandler.ts @@ -16,7 +16,9 @@ export class WebSocketMessageRequestedEventHandler implements DomainEventHandler }) if (result.isFailed()) { - this.logger.error(`Could not send message to user ${event.payload.userUuid}. Error: ${result.getError()}`) + this.logger.error(`Could not send message to user. Error: ${result.getError()}`, { + userId: event.payload.userUuid, + }) } } } diff --git a/packages/websockets/src/Domain/UseCase/AddWebSocketsConnection/AddWebSocketsConnection.ts b/packages/websockets/src/Domain/UseCase/AddWebSocketsConnection/AddWebSocketsConnection.ts index 85e48aaf0..e8e2a4e53 100644 --- a/packages/websockets/src/Domain/UseCase/AddWebSocketsConnection/AddWebSocketsConnection.ts +++ b/packages/websockets/src/Domain/UseCase/AddWebSocketsConnection/AddWebSocketsConnection.ts @@ -48,9 +48,10 @@ export class AddWebSocketsConnection implements UseCaseInterface { return Result.ok() } catch (error) { - this.logger.error( - `Error persisting connection ${dto.connectionId} for user ${dto.userUuid}: ${(error as Error).message}`, - ) + this.logger.error(`Error persisting connection for user: ${(error as Error).message}`, { + userId: dto.userUuid, + connectionId: dto.connectionId, + }) return Result.fail((error as Error).message) } diff --git a/packages/websockets/src/Domain/UseCase/RemoveWebSocketsConnection/RemoveWebSocketsConnection.ts b/packages/websockets/src/Domain/UseCase/RemoveWebSocketsConnection/RemoveWebSocketsConnection.ts index 99e9808c1..fda264ef6 100644 --- a/packages/websockets/src/Domain/UseCase/RemoveWebSocketsConnection/RemoveWebSocketsConnection.ts +++ b/packages/websockets/src/Domain/UseCase/RemoveWebSocketsConnection/RemoveWebSocketsConnection.ts @@ -22,7 +22,9 @@ export class RemoveWebSocketsConnection implements UseCaseInterface { return Result.ok() } catch (error) { - this.logger.error(`Error removing connection ${dto.connectionId}: ${(error as Error).message}`) + this.logger.error(`Error removing connection: ${(error as Error).message}`, { + connectionId: dto.connectionId, + }) return Result.fail((error as Error).message) }