温馨提示×

如何通过Node.js日志监控API响应时间

小樊
41
2026-01-02 13:03:25
栏目: 编程语言

要通过 Node.js 日志监控 API 响应时间,你可以使用中间件来记录请求的开始和结束时间,然后计算并输出响应时间。以下是一个使用 Express 框架的示例:

  1. 首先,确保你已经安装了 Node.js 和 Express。如果没有,请运行以下命令安装:
npm init
npm install express
  1. 创建一个名为 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}`);
});

在这个示例中,我们创建了两个中间件:loggerMiddlewareresponseTimeMiddlewareloggerMiddleware 用于记录请求的开始时间,responseTimeMiddleware 用于计算并输出响应时间。

  1. 运行你的 Node.js 应用:
node app.js
  1. 访问 http://localhost:3000,你将在控制台看到类似以下的输出:
GET / - 12ms

这表示你的 API 响应时间为 12 毫秒。你可以根据需要修改和扩展这个示例,以满足你的需求。

0