如何为 Fastify 中的每个请求添加跟踪 ID?
How to add tracking id for each request in fastify?
我使用 fastify 作为我应用程序的后端。我也在使用 pino 记录器。
const fastify = require('fastify')({
logger: true
})
我每次写作时都需要 fastify.log.info("something")
我需要查看带有一些 trackingId 的日志(在我的终端中)。喜欢{message: something, trackingId: 123}
。跟踪 ID 在整个请求中应该是相同的。
我试图在 fastify logger docs and pino logger 中找到如何做到这一点,但没有成功。
此代码将产生以下输出。请注意,我使用的是 request.log
(不是 fastify.log
)。这样就自动打印出了fastify生成的request id。
const fastify = require('fastify')({
logger: true,
requestIdLogLabel: 'trackingId',
})
fastify.get('/', async (request, reply) => {
request.log.info('Custom log message')
return { hello: 'world' }
})
fastify.listen(8080)
输出:
{"level":30,"trackingId":"req-1","req":{"method":"GET","url":"/","hostname":"localhost:8080","remoteAddress":"127.0.0.1","remotePort":50743},"msg":"incoming request"}
{"level":30,"trackingId":"req-1","msg":"Custom log message"}
{"level":30,"trackingId":"req-1","res":{"statusCode":200},"responseTime":3.57566699385643,"msg":"request completed"}
req-id
是由 Fastify 生成的。您可以通过实现自己的 genReqId
function.
来自定义其值
我使用 fastify 作为我应用程序的后端。我也在使用 pino 记录器。
const fastify = require('fastify')({
logger: true
})
我每次写作时都需要 fastify.log.info("something")
我需要查看带有一些 trackingId 的日志(在我的终端中)。喜欢{message: something, trackingId: 123}
。跟踪 ID 在整个请求中应该是相同的。
我试图在 fastify logger docs and pino logger 中找到如何做到这一点,但没有成功。
此代码将产生以下输出。请注意,我使用的是 request.log
(不是 fastify.log
)。这样就自动打印出了fastify生成的request id。
const fastify = require('fastify')({
logger: true,
requestIdLogLabel: 'trackingId',
})
fastify.get('/', async (request, reply) => {
request.log.info('Custom log message')
return { hello: 'world' }
})
fastify.listen(8080)
输出:
{"level":30,"trackingId":"req-1","req":{"method":"GET","url":"/","hostname":"localhost:8080","remoteAddress":"127.0.0.1","remotePort":50743},"msg":"incoming request"}
{"level":30,"trackingId":"req-1","msg":"Custom log message"}
{"level":30,"trackingId":"req-1","res":{"statusCode":200},"responseTime":3.57566699385643,"msg":"request completed"}
req-id
是由 Fastify 生成的。您可以通过实现自己的 genReqId
function.