我已经为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)