pino logger作为fastify插件



我已经为fastify logger:创建了自己的选项和流

const logger = pino(
{
level: 'info',
...ecsFormat,
},
pinoMultiStream.multistream([
{ stream: streamToElastic },
{
stream: pretty({
colorize: true,
sync: true,
ignore: 'pid',
}),
},
]),)
const fastify = Fastify({logger})

现在我想提取这个选项作为fastify插件,我该如何做这个功能?如果这是不可能的,我能做些什么来提取这些代码?

您无法将代码封装到Fastify插件中,因为当时已经创建了Fastify的记录器。

在这种情况下,您需要定义自己的逻辑来构建fastify服务器的配置,例如decorator模式。

您将获得的用户体验如下:

const decorateLogger = require('my-logger-module')
const applicationConfig = loadAppConfig()
decorateLogger(applicationConfig, options)
const app = Fastify(applicationConfig)

相关内容

  • 没有找到相关文章

最新更新