2017-08-11 83 views
0

我要记录这样所有的请求:登录请求的NodeJS表达

8:04:20 PM - info: /api/v2 200 8:04:22 PM - info: /api/v2/asdf 200

然而,在快递,中间件是处理请求之前调用,所以我不能得到真正的响应代码。我总是得到200.完成这个的正确方法是什么?

+1

我相信express会暴露一些日志功能。我想你已经暴露了一个环境变量'DEBUG = express:*',并且据我可以告诉系统的日志输出所有请求。参见[Debugging Express](https://expressjs.com/en/guide/debugging.html) –

回答

0

看看下面的路线和你的路由中间件上的回调添加第三个参数是这样的:

app.get("/", function(req, res, next) { 
    res.send(something); 
    next(); 
}); 

app.use(function(req, res, next) { 
    console.log('after request is done'); 
}); 
0

您可以使用摩根登录你的要求:

const morgan = require("morgan"); 
app.use(morgan('dev')); 

更多文档请访问morgan。 Yo也可能对 on-finished包感兴趣,以便在请求完成时执行任意代码。