Как пользоваться сервисом nestjs Logging - PullRequest
0 голосов
/ 04 октября 2018

Я пытался использовать внутренний Logger nestjs (описан в https://docs.nestjs.com/techniques/logger ->, но без описания того, как его использовать)

Но у меня были проблемы (попытался ввести LoggerService и т. Д.)

Кто-нибудь может объяснить, как это сделать?

Ответы [ 3 ]

0 голосов
/ 20 октября 2018

Лучшая практика

Лучше статического доступа к Logger создать экземпляр для вашего класса:

@Controller()
export class AppController {
  private readonly logger = new Logger(AppController.name);

  @Get()
  async get() {
    this.logger.log('Getting stuff');
  }
}

Почему это лучше?

1) Вы можете предоставить контекст в конструкторе, такой как new Logger(AppController.name), чтобы имя класса (или что-либо еще) было частью всех сообщений журнала в этом классе.

2)Если вы в какой-то момент захотите расширить или заменить значение по умолчанию LoggerService, вам не нужно изменять какой-либо код вашего приложения, кроме установки нового регистратора.Ваш новый регистратор будет автоматически использован.Если вы получите статический доступ к нему, он продолжит принимать реализацию по умолчанию.

const app = await NestFactory.create(AppModule, {logger: new MyLogger()});

3) Вы можете смоделировать Logger в своих тестах:

module.useLogger(new NoOpLogger());
0 голосов
/ 13 ноября 2018

Сначала вам нужно импортировать в ваш класс:

import { Logger } from '@nestjs/common';

, а затем вы можете начать с регистрации:

Logger.log('info')
Logger.warn('warning')
Logger.error('something went wrong! ', error)
0 голосов
/ 05 октября 2018

Ответ прост.В классе Logger есть статические методы.

например,

static log(message: string, context = '', isTimeDiffEnabled = true) 

Использование:

Logger.log('Only a test');
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...