Ich benutze Logstash 5, um eine Datei aufzunehmen, die eine Reihe von JSON-Dokumenten enthält, extrahiere einen Teil jedes Dokuments in jedem Ereignis und schreibe sie in eine andere Datei.Pretty-print JSON-Dokument in Logstash 5
Ich möchte den Ausgang JSON hübsch drucken. Ich fand diesen Thread: How do I pretty-print JSON for an email body in logstash?, der ideal aussah, aber Logstash 5 verhindert jetzt, dass Sie direkt auf Ereignisattribute zugreifen, indem Sie es durch die Methoden event.get und event.set ersetzen (siehe https://www.elastic.co/guide/en/logstash/current/event-api.html).
Ich versuchte, das oben zu konvertieren, wie folgt:
ruby {
init => "require 'json'"
code => "@pretty_body = JSON.pretty_generate(event.get('body'))
event.set('body', @pretty_body)
"
}
aber
ERROR logstash.filters.ruby - Ruby exception occurred: only generation of JSON objects or arrays allowed
Was ist der richtige LS5 Äquivalent der oben bekommen?