要通过 Node.js 日志监控 API 响应时间,你可以使用中间件来记录请求的开始和结束时间,然后计算并输出响应时间。以下是一个使用 Express 框架的示例:
npm init
npm install express
app.js 的文件,并在其中编写以下代码:const express = require('express');
const app = express();
const port = 3000;
// 自定义中间件,用于记录请求开始时间
function loggerMiddleware(req, res, next) {
req.startTime = Date.now();
next();
}
// 自定义中间件,用于计算并输出响应时间
function responseTimeMiddleware(req, res, next) {
res.on('finish', () => {
const endTime = Date.now();
const responseTime = endTime - req.startTime;
console.log(`${req.method} ${req.url} - ${responseTime}ms`);
});
next();
}
// 使用中间件
app.use(loggerMiddleware);
app.use(responseTimeMiddleware);
// 示例 API 路由
app.get('/', (req, res) => {
res.send('Hello World!');
});
app.listen(port, () => {
console.log(`Server is running at http://localhost:${port}`);
});
在这个示例中,我们创建了两个中间件:loggerMiddleware 和 responseTimeMiddleware。loggerMiddleware 用于记录请求的开始时间,responseTimeMiddleware 用于计算并输出响应时间。
node app.js
http://localhost:3000,你将在控制台看到类似以下的输出:GET / - 12ms
这表示你的 API 响应时间为 12 毫秒。你可以根据需要修改和扩展这个示例,以满足你的需求。