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

node express 4 - how do I log successful requests?

在 express 4 中,包 morgan 用于日志记录。奇怪的是,none 的内置模式似乎记录了成功的请求——它们只记录错误情况。我将它用作中间件,如下所示:

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

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

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

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

这完全由您决定如何处理。

我通常不会打扰,因为我通常 运行 Nginx 在我的应用程序服务器前面。如果我需要访问日志,我只是使用它的日志。如果我需要应用程序日志进行调试,那么这就是我从 Node.js 服务器中得到的。

事实证明,我必须先设置 morgan ,然后再 设置我的路线。更改顺序使一切按预期工作

您需要注意哪些中间件不包含 'next' 中间件的 next() 调用。

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

之前使用 () 'morgan'