每当我对我的应用程序中的任何路径发出http请求时,我都会在我的控制台中找到路由方法,执行时间和其他数字,我不知道它的含义(很想知道)。 @sparklewhiskers
有谁知道如何使用这些数据?我想记录花费超过x时间的路线,这样我就可以改善这些路线。
我尝试从控制台找到。在快递框架中,我假设它来自那里,但没有运气
答案 0 :(得分:2)
正如我从截图中看到的,您可能正在使用morgan中间件。
默认情况下,它会以dev格式记录所有请求,即
:method :url :status :response-time ms - :res[content-length]
所以根据你的截图 -
我认为你问的是内容长度。它基本上是响应体的大小(以字节为单位)。
答案 1 :(得分:0)
查看source,Morgan通过向请求添加实例属性来跟踪请求的开始/结束时间。
请求时间看起来像是在响应开始写入标头时计算出来的,因此您需要遵循相同的模式....但在 Morgan之后配置例如
import onHeaders from 'on-headers';
import logger from 'morgan';
app.use(logger()); // configure morgan
app.use((req, res, next) =>
onHeaders(res, () => {
console.log(logger['response-time'](req, res)); // this may work
// alternatively, use req._startAt / res._startAt to work it out (see source for implementation)
});
return next();
)
另一种选择当然是自己使用自定义中间件,或使用现成的东西,如response-time