如何在Node.js中为Morgan指定特定格式?

时间:2019-02-20 00:06:45

标签: javascript node.js express middleware morgan

在nodejs中使用morgan / express,如何显示以下格式的控制台输出:日/月/年:HH:MM:SS GET / POST“ some-api-endpoint-path”?

我尝试使用“组合”格式,但没有太大的成功。

1 个答案:

答案 0 :(得分:0)

Morgan有一个预定义令牌的列表,您可以在此address上找到。

您要使用datemethodurl。因此,您的摩根设置将是:

app.use(morgan(':date :method ":url"'));

这应该足以让您了解它的基础知识,并且四处寻找以获取最佳日志输出。

如果要创建自己的令牌,则必须调用morgan.token()。以下是使用Express和Passport提供的req.user设置令牌username的示例:

morgan.token('username', function (req, res) { 
    var username = req.user ? req.user.username: "Guest";
    return username;
});

这将使它可以用作记录令牌,您将可以致电:

app.use(morgan(':username :date :method :url'));