无法让摩根记录器只打印失败的请求

时间:2014-09-12 06:47:45

标签: node.js logging express

我试图让摩根记录器只打印失败的请求。文档(https://www.npmjs.org/package/morgan)说这样做:

// EXAMPLE: only log error responses
morgan('combined', {
    skip: function (req, res) { return res.statusCode < 400 }
})

所以这是我的代码:

var express = require('express');
var morgan = require('morgan');

var app = express();

app.use(morgan('combined', {
    skip: function(req, res) { return res.statusCode < 400 }
}));

然而,每个请求只打印出&#34;合并&#34;,而不是其他任何请求。我误解了他们的榜样吗?我真的不知道我还应该做些什么。

3 个答案:

答案 0 :(得分:1)

试试这个:

morganOptions = {
    skip: function (req, res) { return res.statusCode < 400; }
};

然后,使用摩根:

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

答案 1 :(得分:1)

每个请求都打印出来“合并”给我。

我将摩根更新到最新版本,并为我解决了问题。 我想旧版本不支持“组合”格式

答案 2 :(得分:0)

我刚看到同样的问题。

看起来这个例子已经过时了。而不是'combined'尝试'default'。您可以在node_modules / morgan / index.js中的index.js文件中看到其他有效选项。