Pino Logger / JS - передать аргументы и использовать дочерний процесс - PullRequest
0 голосов
/ 26 марта 2020

Я пытаюсь создать функцию, которая имеет конфигурацию по умолчанию для Pino logger https://www.npmjs.com/package/pino. У меня также есть пользовательская функция, которая принимает аргумент пользовательских параметров для передачи. Оба работают, однако, при использовании дочерних параметров, таких как logger.child({ a: 'property' }), это работает, однако при использовании loggerCustomised({ prettyPrint: false }).child({ a: 'property' }) это не так. Я вижу это из-за того, что один вызывает Pino напрямую, а другой вызывает функцию, с которой не связан .child(), который .child() является дочерним регистратором Pino https://github.com/pinojs/pino/blob/master/docs/child-loggers.md.

Есть идеи, как мне заставить это работать?

const config = {
  name: 'app1',
  prettyPrint: true
};

// logger with default config passed
export const logger = pino(config);

// logger with custom options available to be passed in
export const loggerCustomised = customOptions => pino({ ...config, ...customOptions  });
...