【问题标题】:How can I specify a specific format for morgan in nodejs?如何在 nodejs 中为 morgan 指定特定格式?
【发布时间】:2019-02-20 08:21:30
【问题描述】:

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

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

【问题讨论】:

    标签: javascript node.js express middleware morgan


    【解决方案1】:

    摩根有一个预定义令牌列表,您可以在此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'));
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-02-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多