2
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属性上。

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

4

1 回答 1

0

事实证明这不是问题winston

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

于 2017-09-20T04:12:10.423 回答