📅  最后修改于: 2023-12-03 15:05:56.246000             🧑  作者: Mango
在 TypeScript 中,记录 IP 地址日志可以使用 winston
模块和 express-winston
中间件。
首先需要安装 winston
和 express-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 地址日志,并进行自定义输出。