【问题标题】:How to log JSON to console and get cloudwatch logs pick up correct metadata?如何将 JSON 记录到控制台并让 cloudwatch 日志获取正确的元数据?
【发布时间】:2017-09-20 12:12:10
【问题描述】:
winston.info('Hello again distributed logs', { app: 'test', sid: 1 })
pino.info('Hello again distributed logs', { app: 'test', sid: 1 })

输出:

{"app":"test","sid":1,"level":"info","message":"Hello again distributed logs","timestamp":"2017-02-16T03:34:06.186Z"}
{"pid":4269,"hostname":"Macchiato.local","level":30,"time":1487216046197,"msg":"Hello again distributed logs {\"app\":\"test\",\"sid\":1}","v":1}

我有 fluentd 守护程序来获取容器标准输出并将其发送到 cloudwatch。

在上面的示例中,cloudwatchlogs 可以正确检测到来自pino 的元数据,我将能够像这样查询日志

{$.app = "test"}

但是,winston 控制台并不能这样工作,所有内容都被推送到 log 属性。

有谁知道如何解决这个问题。我正在使用带有json: truestringify: true 的winston 控制台

【问题讨论】:

    标签: node.js winston amazon-cloudwatchlogs


    【解决方案1】:

    原来winston 不是问题。

    我使用pm2 运行节点,我需要将--raw arg 传递给它以获取原始日志。

    【讨论】:

      猜你喜欢
      • 2018-06-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多