如何使用 Morgan 记录用户输入?

How to log user input with Morgan?

早上好,

我正在尝试记录用户在使用 morgan 和 express 时的输入。此图像中记录了我特别尝试记录的内容:(用户发布了一个包含两个 key/value 对“名称”和“编号”的对象的请求)

我将如何记录这个?自定义令牌或是否有我可以使用的预定义方法?

使用这个将日志写入文件:

// create a write stream (in append mode)
var accessLogStream = fs.createWriteStream(path.join(__dirname, 'access.log'), { flags: 'a' })

// setup the logger
app.use(morgan('combined', { stream: accessLogStream }))

您可以在 official Morgan documentation on how to write logs to a file

找到更多参考资料

我找到了解决方案,非常简单:

app.use(express.json())

morgan.token("code", function getCode(req) {
  return JSON.stringify(req.body);
 });

app.use(morgan(':method :url :response-time :code'))

JSON.stringify(req.body) 正是我要找的!