30 lines
1.1 KiB
TypeScript
30 lines
1.1 KiB
TypeScript
import { Global, MiddlewareConsumer, Module, NestModule } from '@nestjs/common';
|
|
import { APP_FILTER } from '@nestjs/core';
|
|
import { ConfigModule } from '@nestjs/config';
|
|
import { TypeOrmModule } from '@nestjs/typeorm';
|
|
import { ApplicationErrorFilter } from './application-error.filter';
|
|
import { ApplicationErrorLog } from './application-error-log.entity';
|
|
import { ApplicationErrorLoggerService } from './application-error-logger.service';
|
|
import { CorrelationIdMiddleware } from '../common/correlation-id.middleware';
|
|
import { RequestContextService } from '../common/request-context.service';
|
|
|
|
@Global()
|
|
@Module({
|
|
imports: [ConfigModule, TypeOrmModule.forFeature([ApplicationErrorLog])],
|
|
providers: [
|
|
RequestContextService,
|
|
CorrelationIdMiddleware,
|
|
ApplicationErrorLoggerService,
|
|
{
|
|
provide: APP_FILTER,
|
|
useClass: ApplicationErrorFilter,
|
|
},
|
|
],
|
|
exports: [ApplicationErrorLoggerService, RequestContextService],
|
|
})
|
|
export class ApplicationErrorLogModule implements NestModule {
|
|
configure(consumer: MiddlewareConsumer): void {
|
|
consumer.apply(CorrelationIdMiddleware).forRoutes('*');
|
|
}
|
|
}
|