Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/35.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js 在不到处传递请求对象的情况下访问Hapi请求id?_Node.js_Hapijs - Fatal编程技术网

Node.js 在不到处传递请求对象的情况下访问Hapi请求id?

Node.js 在不到处传递请求对象的情况下访问Hapi请求id?,node.js,hapijs,Node.js,Hapijs,我在Node.js/Hapi中编写了一个RESTAPI,我正在致力于向其中添加日志记录,并将其集成到一个集中式日志记录服务(如Splunk)中 我希望能够编写一个简单的日志util,以便在代码中的任何地方都可以执行以下操作: LoggingUtil.log'some message' LoggingUtil将能够找出它所属的请求,并将其包含在实际记录的消息中。这样,当我搜索日志时,请求id会将与特定请求相关的所有日志绑定在一起 我不太熟悉节点中的事件循环以及如何实现这一点。我发现唯一可行的方法是

我在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您需要什么 }