#asynchronous #nestjs #pinojs
Вопрос:
Я пытаюсь использовать pino
с микросервисами внутри nestjs
. Поскольку промежуточные программы не работают для микросервисов, я использую NestInterceptor
:
import {CallHandler, ExecutionContext, Injectable, NestInterceptor} from '@nestjs/common';
import {PinoLogger} from "nestjs-pino";
const storage_1 = require("nestjs-pino/storage");
@Injectable()
export class LoggerInterceptor implements NestInterceptor {
constructor(private readonly logger: PinoLogger) {
this.logger.setContext("TEST");
}
intercept(context: ExecutionContext, next: CallHandler) {
return storage_1.storage.run(new storage_1.Store(this.logger), next.handle.bind(this))
}
}
Затем я использую регистратор в своих службах, и он выходит за рамки запроса. Поэтому я не могу assign
использовать какие-либо переменные и передавать их во все журналы службы.
Как это правильно реализовать?