logger/src/app.module.ts

38 lines
1.1 KiB
TypeScript

import { MessagePublisherPort } from '@mobicoop/ddd-library';
import { HealthModule, HealthModuleOptions } from '@mobicoop/health-module';
import { LoggerModule } from '@modules/logger/logger.module';
import { MESSAGE_PUBLISHER } from '@modules/messager/messager.di-tokens';
import { MessagerModule } from '@modules/messager/messager.module';
import { HttpModule } from '@nestjs/axios';
import { Module } from '@nestjs/common';
import { ConfigModule } from '@nestjs/config';
@Module({
imports: [
ConfigModule.forRoot({ isGlobal: true }),
HttpModule,
HealthModule.forRootAsync({
imports: [LoggerModule, MessagerModule],
inject: [MESSAGE_PUBLISHER],
useFactory: async (
messagePublisher: MessagePublisherPort,
): Promise<HealthModuleOptions> => ({
serviceName: 'logger',
criticalLoggingKey: 'logging.logger.health.crit',
checkUrls: [
{
name: 'google',
url: 'https://www.google.fr',
},
],
messagePublisher,
}),
}),
LoggerModule,
MessagerModule,
],
controllers: [],
providers: [],
})
export class AppModule {}