Как отключить Nest JS Logger, основываясь на env? - PullRequest
0 голосов
/ 21 марта 2020

Я использую опцию logger в методе NestFactory.create() для управления уровнями журнала Logger в производственном режиме, но он не работает с ENV='production', все еще показывая Logger.log() сообщения

const bootstrap = async () => {
  const app = await NestFactory.create<NestExpressApplication>(AppModule, {
    logger:
      env.ENV == 'development'
        ? ['debug', 'error', 'log', 'verbose', 'warn']
        : ['error', 'warn'],
  });

  app.enableCors();

  app.use(helmet());
  app.set('trust proxy', 1);

1 Ответ

0 голосов
/ 21 марта 2020

Переменные Env доступны с помощью глобального объекта process.env в Node.js.

Следующий пример работает, как и ожидалось, читая process.env.ENV:

async function bootstrap() {
  const app = await NestFactory.create(AppModule, {
    logger: process.env.ENV === 'production' ? ['warn', 'error'] : ['debug', 'log', 'verbose']
  });
  await app.listen(3000);
}

bootstrap();

yarn start отображение всех журналов инициализации , тогда как ENV=production yarn start показывает без журналов инициализации .

...