如何在 Node.js 中将变量设置为 morgan 的结果(而不是将其记录在控制台上)
How to set a variable to the result of morgan (not to log it on the console) in Node.js
我不太了解节点中的流。
我尝试将我的应用程序的请求和响应信息保存到 mongodb。
首先,我想为 morgan 的结果设置一个变量:
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 中的流,然后你可以轻松地将摩根的数据放入 Mongodb
我不太了解节点中的流。 我尝试将我的应用程序的请求和响应信息保存到 mongodb。
首先,我想为 morgan 的结果设置一个变量:
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 中的流,然后你可以轻松地将摩根的数据放入 Mongodb