ubuntu

Node.js日志中请求处理时间

小樊
40
2025-06-18 19:16:26
栏目: 编程语言

在Node.js中,你可以使用中间件来记录每个请求的处理时间。这里以Express框架为例,展示如何创建一个中间件来记录请求处理时间:

首先,确保你已经安装了Express:

npm install express

然后,创建一个名为app.js的文件,并添加以下代码:

const express = require('express');
const app = express();

// 自定义中间件,用于记录请求处理时间
app.use((req, res, next) => {
  const start = Date.now(); // 记录请求开始时间

  // 监听响应结束事件
  res.on('finish', () => {
    const duration = Date.now() - start; // 计算处理时间
    console.log(`${req.method} ${req.url} - ${duration}ms`); // 输出请求方法、URL和处理时间
  });

  next(); // 继续执行下一个中间件或路由处理程序
});

// 示例路由
app.get('/', (req, res) => {
  res.send('Hello World!');
});

// 启动服务器
const PORT = process.env.PORT || 3000;
app.listen(PORT, () => {
  console.log(`Server is running on port ${PORT}`);
});

现在运行app.js文件:

node app.js

当你访问http://localhost:3000时,控制台将显示类似以下内容的输出:

GET / - 12ms

这表示请求的处理时间为12毫秒。你可以根据需要修改中间件,以便将日志记录到文件或其他存储系统中。

0
看了该问题的人还看了