gpt4 book ai didi

node.js - 如何在 NestJs 中使用 Fastify 忽略特定的路由日志记录?

转载 作者:行者123 更新时间:2023-12-03 12:14:12 35 4
gpt4 key购买 nike

我想使用 Fastify 忽略或更改 NestJs 应用程序中路由的 logLevel。

这就是我在 Fastify 应用程序中通常的做法。这里我要换 /health路线 logLevelerror这样它只会在运行状况出现错误时记录。

server.get('/health', { logLevel: 'error' }, async (request, reply) => {
if (mongoose.connection.readyState === 1) {
reply.code(200).send()
} else {
reply.code(500).send()
}
})

但这是我在 NestJs 中的健康 Controller
@Get('health')
getHealth(): string {
return this.appService.getHealth()
}

和 main.ts 文件。
const app = await NestFactory.create<NestFastifyApplication>(
AppModule,
new FastifyAdapter({
logger: true
}),
)

我不想只记录健康路线而不是路线。

请在这方面提供帮助。

最佳答案

使用 Fastify 在 NestJS 中忽略/静音特定路由解决方法。
我们可以使用 Fastify hook onRoute并更改该路由的日志级别。
例如忽略健康路线。

import fastify from 'fastify'


const fastifyInstance = fastify()
fastifyInstance.addHook('onRoute', opts => {
if (opts.path === '/health') {
opts.logLevel = 'silent'
}
})

关于node.js - 如何在 NestJs 中使用 Fastify 忽略特定的路由日志记录?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58286024/

35 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com