Это скорее стилистический 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)
есть почти в каждой сигнатуре метода, что не слишком приятно Более того, мне нужно предоставить регистратор в моих тестах.
Как ты это делаешь? Есть ли лучший способ?