From 260cab1913b5b68ce3cd6bf8db361b1c46fc2b6b Mon Sep 17 00:00:00 2001 From: sbriat Date: Thu, 27 Apr 2023 16:12:20 +0200 Subject: [PATCH] add matcher logs --- src/modules/logger.module.ts | 6 +++++ .../adapters/primaries/matcher.controller.ts | 23 +++++++++++++++++++ 2 files changed, 29 insertions(+) create mode 100644 src/modules/logger/adapters/primaries/matcher.controller.ts diff --git a/src/modules/logger.module.ts b/src/modules/logger.module.ts index 75d8d67..4db9c83 100644 --- a/src/modules/logger.module.ts +++ b/src/modules/logger.module.ts @@ -9,6 +9,7 @@ import { ConfigurationController } from './logger/adapters/primaries/configurati import { TerritoryController } from './logger/adapters/primaries/territory.controller'; import { GatewayApiController } from './logger/adapters/primaries/gateway-api.controller'; import { AdminApiController } from './logger/adapters/primaries/admin-api.controller'; +import { MatcherController } from './logger/adapters/primaries/matcher.controller'; @Module({ imports: [ @@ -94,6 +95,10 @@ import { AdminApiController } from './logger/adapters/primaries/admin-api.contro exchange: configService.get('RMQ_EXCHANGE'), routingKey: 'logging.configuration.health.crit', }, + loggingMatcherMatchCrit: { + exchange: configService.get('RMQ_EXCHANGE'), + routingKey: 'logging.matcher.match.crit', + }, loggingTerritoryCreateInfo: { exchange: configService.get('RMQ_EXCHANGE'), routingKey: 'logging.territory.create.info', @@ -182,6 +187,7 @@ import { AdminApiController } from './logger/adapters/primaries/admin-api.contro AuthController, UserController, ConfigurationController, + MatcherController, TerritoryController, GatewayApiController, AdminApiController, diff --git a/src/modules/logger/adapters/primaries/matcher.controller.ts b/src/modules/logger/adapters/primaries/matcher.controller.ts new file mode 100644 index 0000000..0398de2 --- /dev/null +++ b/src/modules/logger/adapters/primaries/matcher.controller.ts @@ -0,0 +1,23 @@ +import { RabbitSubscribe } from '@golevelup/nestjs-rabbitmq'; +import { Controller, Inject } from '@nestjs/common'; +import { WINSTON_MODULE_PROVIDER } from 'nest-winston'; +import { Logger } from 'winston'; +import { level } from './logger/level.enum'; +import loggerOptions from './logger/logger'; + +@Controller() +export class MatcherController { + constructor( + @Inject(WINSTON_MODULE_PROVIDER) private readonly logger: Logger, + ) {} + + @RabbitSubscribe({ + name: 'loggingMatcherMatchCrit', + }) + public async matcherMatchCriticalHandler(message: string) { + this.logger.configure( + loggerOptions('matcher', level.crit, 'critical', 'match'), + ); + this.logger.crit(JSON.parse(message)); + } +}