温馨提示×

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

小樊
40
2025-08-26 12:16:43
栏目: 编程语言

在Node.js中,您可以使用中间件来监控API响应时间。这里以Express框架为例,介绍如何使用中间件来监控API响应时间:

  1. 首先,确保已经安装了Express框架。如果没有,请运行以下命令进行安装:
npm install express 
  1. 创建一个名为app.js的文件,并在其中引入Express模块:
const express = require('express'); const app = express(); 
  1. 创建一个中间件函数,用于计算API响应时间:
function responseTimeMiddleware(req, res, next) { const start = Date.now(); res.on('finish', () => { const duration = Date.now() - start; console.log(`${req.method} ${req.originalUrl} - ${duration}ms`); }); next(); } 

在这个中间件函数中,我们记录了请求开始的时间,然后在响应结束时计算持续时间,并将其打印到控制台。

  1. 使用app.use()将中间件应用到所有路由:
app.use(responseTimeMiddleware); 
  1. 定义一些API路由:
app.get('/', (req, res) => { res.send('Hello World!'); }); app.get('/api/data', (req, res) => { setTimeout(() => { res.json({ message: 'This is a sample API response.' }); }, 1000); }); 
  1. 启动Express服务器:
const PORT = process.env.PORT || 3000; app.listen(PORT, () => { console.log(`Server is running on port ${PORT}`); }); 

现在,当您访问http://localhost:3000http://localhost:3000/api/data时,控制台将显示API响应时间。

这只是一个简单的示例,您可以根据需要进行修改和扩展。例如,您可以将响应时间记录到日志文件中,或者使用第三方库(如morgan)来记录日志。

0