debian

Node.js日志中如何追踪API调用

小樊
43
2025-08-31 15:36:08
栏目: 编程语言

在Node.js中,可以使用中间件来追踪API调用。这里以Express框架为例,介绍如何使用中间件来追踪API调用。

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

这个中间件会在请求开始时记录当前时间,然后在响应结束时计算持续时间,并输出相关信息。

  1. 使用app.use()将日志中间件添加到Express应用中:
app.use(loggerMiddleware);
  1. 定义一些API路由:
app.get('/', (req, res) => {
  res.send('Hello World!');
});

app.get('/api/users', (req, res) => {
  res.json([{ id: 1, name: 'Alice' }, { id: 2, name: 'Bob' }]);
});

app.post('/api/users', (req, res) => {
  // 假设这里有一些逻辑来处理用户创建
  res.status(201).json({ id: 3, name: 'Charlie' });
});
  1. 启动Express应用:
app.listen(port, () => {
  console.log(`Server is running at http://localhost:${port}`);
});

现在,当你运行node app.js并访问API时,日志中间件将会追踪并输出API调用的相关信息。例如,访问http://localhost:3000/api/users将输出类似以下内容:

GET /api/users - 200 - 123ms

这表示有一个GET请求被发送到/api/users,响应状态码为200,持续时间为123毫秒。

0
看了该问题的人还看了