Jos*_*que 4 logging node.js express
我想记录所有这样的请求:
8:04:20 PM - info: /api/v2 200
8:04:22 PM - info: /api/v2/asdf 200
但是,在express中,中间件在处理请求之前被调用,所以我无法得到真正的响应代码。我总是得到 200。实现这一目标的正确方法是什么?
您可以使用 Morgan 记录您的请求:
const morgan = require("morgan");
app.use(morgan('dev'));
Run Code Online (Sandbox Code Playgroud)
欲了解更多文档,请访问摩根。您可能还对完成的包感兴趣, 以在请求完成时执行任意代码。
干得好:
app.use((req, res, next)=> {
console.log('I run on every request!');
next();
})
Run Code Online (Sandbox Code Playgroud)
将中间件放在路由下方,并在路由中在回调中添加第三个参数,如下所示:
app.get( "/", function( req, res, next ) {
res.send(something);
next();
});
app.use(function(req, res, next) {
console.log('after request is done');
});
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5730 次 |
| 最近记录: |