All files / libs/kernel/logger/server/src/lib logger.module.ts

0% Statements 0/30
0% Branches 0/1
0% Functions 0/1
0% Lines 0/30

Press n or j to go to the next uncovered block, b, p or k for the previous block.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31                                                             
import { Module } from '@nestjs/common';
import { ConfigModule } from '@nestjs/config';
import { APP_INTERCEPTOR } from '@nestjs/core';
import { LoggerErrorInterceptor, LoggerModule as PinoLoggerModule } from 'nestjs-pino';

import { LOGGER_CONFIG_KEY, loggerConfig } from './config/logger.config';
import { nestjsPinoConfig } from './config/nestjs-pino.config';
import { InjectRequestMetadataInterceptor } from './middleware/inject-request-metadata.interceptor';

export { InjectPinoLogger as InjectAppLogger, Logger, PinoLogger as AppLogger } from 'nestjs-pino';

@Module({})
export class LoggerModule {
  public static forRoot() {
    return {
      module: LoggerModule,
      imports: [
        PinoLoggerModule.forRootAsync({
          imports: [ConfigModule.forFeature(loggerConfig)],
          inject: [LOGGER_CONFIG_KEY],
          useFactory: nestjsPinoConfig,
        }),
      ],
      providers: [
        { provide: APP_INTERCEPTOR, useClass: LoggerErrorInterceptor },
        { provide: APP_INTERCEPTOR, useClass: InjectRequestMetadataInterceptor },
      ],
    };
  }
}