node express 4 - 如何记录成功请求?

时间:2015-03-20 04:24:51

标签: node.js logging express

在快递4中,包morgan用于记录。奇怪的是,没有任何内置模式似乎记录成功的请求 - 它们只记录错误情况。我正在使用它作为中间件,如下:

app.use(morgan('dev'));

如何让它打印通过服务器的所有活动,包括成功请求?

3 个答案:

答案 0 :(得分:1)

有大量可用于记录的中间件。至少,您可以这样做:

app.use(function log (req, res, next) {
  console.log([req.method, req.url].join(' '));
  next();
});

完全取决于你决定如何处理这个问题。

我通常不会烦恼,因为我通常会在应用程序服务器前运行Nginx。如果我需要访问日志,我只需使用其日志。如果我需要应用程序日志进行调试,那么这就是我从Node.js服务器获取的内容。

答案 1 :(得分:1)

原来,我必须在设置我的路线之前设置morgan 。更改订单使一切按预期工作

答案 2 :(得分:0)

您需要知道哪个中间件不包含“下一个”中间件的next()调用。

例如,'serve-static'中间件在成功时不会调用next()。它只在某些错误条件下调用next()。因此,为了记录成功请求,您需要在'serveStatic'之前使用()'morgan'