我想使用Fastify忽略或更改NestJs应用程序中路由的logLevel。
这是我通常在Fastify应用程序中执行的操作。在这里,我将/health
路由logLevel
更改为error
,以便仅在运行状况错误时才记录日志。
server.get('/health', { logLevel: 'error' }, async (request, reply) => {
if (mongoose.connection.readyState === 1) {
reply.code(200).send()
} else {
reply.code(500).send()
}
})
但这是NestJs中我的健康控制者
@Get('health')
getHealth(): string {
return this.appService.getHealth()
}
和main.ts文件。
const app = await NestFactory.create<NestFastifyApplication>(
AppModule,
new FastifyAdapter({
logger: true
}),
)
我不想仅记录运行状况路由,而不是日志。
在这方面请提供帮助。
答案 0 :(得分:2)
使用Fastify忽略/沉默NestJS中的特定路由解决方法。
我们可以使用Fastify钩子onRoute
并更改该路由的日志级别。
例如忽略健康路线。
import fastify from 'fastify'
const fastifyInstance = fastify()
fastifyInstance.addHook('onRoute', opts => {
if (opts.path === '/health') {
opts.logLevel = 'silent'
}
})