Node.js 在不到处传递请求对象的情况下访问Hapi请求id?
我在Node.js/Hapi中编写了一个RESTAPI,我正在致力于向其中添加日志记录,并将其集成到一个集中式日志记录服务(如Splunk)中 我希望能够编写一个简单的日志util,以便在代码中的任何地方都可以执行以下操作: LoggingUtil.log'some message' LoggingUtil将能够找出它所属的请求,并将其包含在实际记录的消息中。这样,当我搜索日志时,请求id会将与特定请求相关的所有日志绑定在一起Node.js 在不到处传递请求对象的情况下访问Hapi请求id?,node.js,hapijs,Node.js,Hapijs,我在Node.js/Hapi中编写了一个RESTAPI,我正在致力于向其中添加日志记录,并将其集成到一个集中式日志记录服务(如Splunk)中 我希望能够编写一个简单的日志util,以便在代码中的任何地方都可以执行以下操作: LoggingUtil.log'some message' LoggingUtil将能够找出它所属的请求,并将其包含在实际记录的消息中。这样,当我搜索日志时,请求id会将与特定请求相关的所有日志绑定在一起 我不太熟悉节点中的事件循环以及如何实现这一点。我发现唯一可行的方法是
我不太熟悉节点中的事件循环以及如何实现这一点。我发现唯一可行的方法是我不确定你的确切意思,但我给出了两条建议,这两条建议基于你是想一直记录日志还是仅仅为了调试 始终使用Hapi的生命周期方法记录示例
server.ext('onRequest', (request, reply) => {
console.log(`\n++++++ ${request.raw.req.method} ${request.raw.req.url} ++++++\n`);
reply.continue();
});
onRequest意味着每次有请求时,都会调用此函数。对于我的,我让它记录请求方法和URL。您可以观察请求对象以获取所需的信息
日志记录仅用于调试
基本上相同的逻辑,传递请求对象并从那里访问所需的信息
在日志函数中:
日志请求{
console.log您需要什么
}我不确定您的确切意思,但我根据您是想一直记录日志还是只是为了调试,给出了两条建议 始终使用Hapi的生命周期方法记录示例
server.ext('onRequest', (request, reply) => {
console.log(`\n++++++ ${request.raw.req.method} ${request.raw.req.url} ++++++\n`);
reply.continue();
});
onRequest意味着每次有请求时,都会调用此函数。对于我的,我让它记录请求方法和URL。您可以观察请求对象以获取所需的信息
日志记录仅用于调试
基本上相同的逻辑,传递请求对象并从那里访问所需的信息
在日志函数中:
日志请求{
console.log您需要什么
}