如何在nodejs中为morgan指定特定格式?

问题描述 投票:0回答:1

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

我尝试过使用“组合”格式,但没有取得多大成功。

javascript node.js express middleware morgan
1个回答
0
投票

摩根有一个预定义令牌列表,你可以在这个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'));
© www.soinside.com 2019 - 2024. All rights reserved.