📜  whcih 命令可让您记录 ip 地址日志 - TypeScript (1)

📅  最后修改于: 2023-12-03 15:05:56.246000             🧑  作者: Mango

如何记录 IP 地址日志

在 TypeScript 中,记录 IP 地址日志可以使用 winston 模块和 express-winston 中间件。

安装依赖

首先需要安装 winstonexpress-winston 模块:

npm install winston express-winston
配置日志记录器

在需要记录 IP 地址的路由中添加 express-winston 中间件:

import express from 'express';
import winston from 'winston';
import expressWinston from 'express-winston';

const app = express();

const logger = winston.createLogger({
  level: 'info',
  format: winston.format.json(),
  transports: [
    new winston.transports.Console(),
  ],
});

app.use(expressWinston.logger({
  winstonInstance: logger,
  meta: true,
  msg: 'HTTP {{req.method}} {{req.url}} {{res.statusCode}} {{res.responseTime}}ms',
  colorize: false,
}));

这个中间件会自动记录请求的 IP 地址和其他相关信息,并将它们记录到日志中。

输出日志

你可以通过控制台、文件等方式输出日志。以下是将日志输出到文件的示例:

const logger = winston.createLogger({
  level: 'info',
  format: winston.format.json(),
  transports: [
    new winston.transports.File({ filename: 'combined.log' }),
  ],
});
结论

使用 express-winston 中间件和 winston 模块,你可以轻松地记录 IP 地址日志,并进行自定义输出。