2017-02-16 1 views
2
winston.info('Hello again distributed logs', { app: 'test', sid: 1 }) 
pino.info('Hello again distributed logs', { app: 'test', sid: 1 }) 

Ausgang:Wie logge ich JSON in die Konsole ein und bekomme Cloudwatch-Logs korrekte Metadaten?

{"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} 

I fluentd Daemon Aufnahmebehälter stdout haben und es zu Cloudwatch versenden.

In dem obigen Beispiel kann cloudwatchlogs die Metadaten erfassen richtig von pino und ich werde das Protokoll wie diese

{$.app = "test"} 

jedoch winston Konsole wie die Arbeits abfragen können, ist nicht und alles zu log bekam drücken Attribut.

Weiß jemand, wie man das behebt. Ich benutze Winston Konsole mit json: true und stringify: true

Antwort

0

Es ist kein Problem mit winston.

Ich benutze pm2 zu Knoten ausführen, und ich muss --raw arg übergeben, um es rohe Protokoll zu erhalten.

Verwandte Themen