Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/37.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/url/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js 如何将JSON记录到控制台并让cloudwatch日志获取正确的元数据?_Node.js_Winston_Amazon Cloudwatchlogs - Fatal编程技术网

Node.js 如何将JSON记录到控制台并让cloudwatch日志获取正确的元数据?

Node.js 如何将JSON记录到控制台并让cloudwatch日志获取正确的元数据?,node.js,winston,amazon-cloudwatchlogs,Node.js,Winston,Amazon Cloudwatchlogs,输出: winston.info('Hello again distributed logs', { app: 'test', sid: 1 }) pino.info('Hello again distributed logs', { app: 'test', sid: 1 }) 我有fluentd守护进程来提取容器stdout并将其发送到cloudwatch 在上面的示例中,cloudwatchlogs可以从中正确检测元数据,我将能够像这样查询日志 {"app":"test","sid":1

输出:

winston.info('Hello again distributed logs', { app: 'test', sid: 1 })
pino.info('Hello again distributed logs', { app: 'test', sid: 1 })
我有fluentd守护进程来提取容器stdout并将其发送到cloudwatch

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

{"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}
然而,winston控制台并不是这样工作的,所有东西都被推到了
log
属性


有人知道如何解决这个问题吗。我将winston控制台与
json:true
stringify:true
一起使用,结果证明这不是winston的问题

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

{$.app = "test"}