【问题标题】:How to set a variable to the result of morgan (not to log it on the console) in Node.js如何在 Node.js 中将变量设置为 morgan 的结果(不在控制台上记录)
【发布时间】:2017-07-20 11:58:14
【问题描述】:

我不太了解节点中的流。 我尝试将我的应用程序的请求和响应信息保存到 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。

【问题讨论】:

    标签: javascript node.js node.js-stream morgan


    【解决方案1】:

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

    【讨论】:

      猜你喜欢
      • 2019-02-11
      • 1970-01-01
      • 2012-01-13
      • 2020-12-26
      • 1970-01-01
      • 1970-01-01
      • 2019-08-16
      • 2022-01-22
      相关资源
      最近更新 更多