经过大量摆弄升级版本和不同的中间件/使用身体解析器的方式后,我仍然陷入困境。
我有一个Iphone应用程序,它发布2件事(2件事)。首先是一个有效的图像。 第二个是我试图放入mongodb的json对象。
无论我做什么,我似乎都无法记录请求的内容。
var express = require('express');
var logger = require('morgan');
var fs = require('fs');
var json = require('express-json');
var path = require('path');
var errorHandler = require('errorhandler');
MongoClient = require('mongodb').MongoClient,
Server = require('mongodb').Server,
CollectionDriver = require('./collectionDriver').CollectionDriver;
FileDriver = require('./fileDriver').FileDriver;
...
app.use(json());
//app.use(bodyParser.urlencoded({ extended: true }));
app.use(logger('dev'));
app.use(express.static(path.join(__dirname, 'public')));
...
app.post('/:collection', function(req, res) {
console.warn(req.body.poi.toString());
var object = req.body;
var collection = req.params.collection;
console.warn("Post: " + req.toString());
collectionDriver.save(collection, object, function(err,docs) {
if (err) { res.send(400, err); }
else { res.send(201, docs); }
});
});
我已经尝试记录(日志,警告)req.body,req等无济于事。 我正在使用express-json和NOT url编码,不要认为需要它。
当我发布时,摩根输出以下内容POST /pois 200 15.983 ms - 63
,别无其他!
答案 0 :(得分:1)
显然不能这样做,正如本期封闭的问题所述https://github.com/expressjs/morgan/issues/16
morgan
不适用于此类工作。请尝试使用Winston,或者只使用console.log