import { Module } from '@nestjs/common'; import { APP_FILTER, APP_INTERCEPTOR } from '@nestjs/core'; import { LoggerModule } from 'nestjs-pino'; import pinoConfig from './config/pino.config'; import { HttpExceptionFilter } from './filters/http-exception.filter'; import { LoggingInterceptor } from './interceptors/logging.interceptor'; import { OperationLogInterceptor } from './interceptors/operation-log.interceptor'; import { ResponseInterceptor } from './interceptors/response.interceptor'; import { CorrelationInterceptor } from './interceptors/correlation.interceptor'; import { ExceptionService } from './services/exception.service'; @Module({ imports: [LoggerModule.forRoot(pinoConfig)], providers: [ { provide: APP_INTERCEPTOR, useClass: CorrelationInterceptor, }, { provide: APP_INTERCEPTOR, useClass: LoggingInterceptor, }, { provide: APP_INTERCEPTOR, useClass: OperationLogInterceptor, }, { provide: APP_INTERCEPTOR, useClass: ResponseInterceptor, }, { provide: APP_FILTER, useClass: HttpExceptionFilter, }, ExceptionService, ], exports: [], }) export class CommonModule {}