在快递4中,包morgan用于记录。奇怪的是,没有任何内置模式似乎记录成功的请求 - 它们只记录错误情况。我正在使用它作为中间件,如下:
app.use(morgan('dev'));
如何让它打印通过服务器的所有活动,包括成功请求?
答案 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'