express router使用meld来记录请求参数和响应

时间:2016-04-05 11:05:47

标签: node.js express aop meld

我在我的快递项目中使用了meld,我想用meld记录我的api请求,下面的代码是我的第一次尝试:

var meld = require('meld');
var express = require('express');
var router = express.Router();
var app = express();

var logger =  {
    apiAround:function(method){
        //TODO:log before request
        var result = method.proceed();
        //TODO:log after request
        return result;
    }
};
meld.around(router,'get',logger.apiAround);
router.get('/',function(req,res){
   //TODO:handle request 
});

app.use('/',router);

但似乎不起作用,问题是什么?

1 个答案:

答案 0 :(得分:0)

我找到了解决这个问题的方法,实际上我想记录我的请求参数/响应/响应时间,所以这是带有中间件的代码response-time

var responseTime = require('response-time');
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({ extended: true }));
app.use(responseTime(function(req,res,time){
    if(req.baseUrl.indexOf('/xxxxxx') !== -1)
    {
        console.log(req.body);
        console.log(time);
        console.log(res);
    }
}));