Я пытаюсь создать функцию, которая имеет конфигурацию по умолчанию для 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 });