如何在Node.js中为Morgan的结果设置变量(不在控制台上)



我不理解节点中的流。我尝试将我的应用程序的请求和响应信息保存到MongoDB。

首先,我想为摩根的结果设置一个变量:

var apiInfo = morgan('dev')
   app.use(console.log('test______',apiInfo))

但是,它行不通。我在摩根官方网站上知道这一点:

var express = require('express')
var fs = require('fs')
var morgan = require('morgan')
var path = require('path')
var app = express()
// 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}))
app.get('/', function (req, res) {
  res.send('hello, world!')
})

,但我不想将结果保存到access.log,我只想将结果保存到变量Apiinfo。

使用项目https://www.npmjs.com/package/mongo-morgan。使用正则表达式修改index.js中的流,然后您可以轻松地将Morgan的数据放入MongoDB

最新更新