Должен ли я разносить детей-лесорубов Пино? - PullRequest
0 голосов
/ 21 марта 2020

Это скорее стилистический c вопрос. Я использую Pino в некоторых моих микросервисах Javascript / Typescript. Поскольку они работают на AWS, я хотел бы распространять RequestId.

Когда вызывается одна из моих функций, я создаю новый дочерний регистратор, подобный этому:

const parentLogger = pino(pinoDefaultConfig)

function createLogger(context) {
  return parentLogger.child({
    ...context,
  })
}

function createLoggerForAwsLambda(awsContext) {
  const context = {
    requestId: awsContext.awsRequestId,
  }
  return createLogger(context)
}

Затем я передаю экземпляр журнала всем методам. Тем не менее, (... , logger) есть почти в каждой сигнатуре метода, что не слишком приятно Более того, мне нужно предоставить регистратор в моих тестах.

Как ты это делаешь? Есть ли лучший способ?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...