Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/38.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/neo4j/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js 记录对nodejs express的请求_Node.js_Express_Logging - Fatal编程技术网

Node.js 记录对nodejs express的请求

Node.js 记录对nodejs express的请求,node.js,express,logging,Node.js,Express,Logging,我想记录所有请求,如下所示: 8:04:20 PM-info:/api/v2200 下午8:04:22-信息:/api/v2/asdf 200 然而,在express中,中间件在处理请求之前被调用,因此我无法获得真正的响应代码。我总是得到200英镑。实现这一点的正确方法是什么?让中间件位于路由下方,并在路由中在回调上添加第三个参数,如下所示: app.get( "/", function( req, res, next ) { res.send(something); next(); }

我想记录所有请求,如下所示:

8:04:20 PM-info:/api/v2200
下午8:04:22-信息:/api/v2/asdf 200


然而,在express中,中间件在处理请求之前被调用,因此我无法获得真正的响应代码。我总是得到200英镑。实现这一点的正确方法是什么?

让中间件位于路由下方,并在路由中在回调上添加第三个参数,如下所示:

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

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

您可以使用morgan记录您的请求:

const morgan = require("morgan");
app.use(morgan('dev'));
有关更多文档,请访问。你也可能对 包在请求完成时执行任意代码。

给您:

app.use((req, res, next)=> {
  console.log('I run on every request!');
  next();
})

我相信express公开了一些日志功能。我认为您已经公开了一个环境变量
DEBUG=express::
,据我所知,系统日志会输出所有请求。看看每一个“好”的要求。我来这里是因为我正试图解决一个错误的请求。知道如何让每一个不好的请求也能触发一些东西会很好。