私はいくつかのカスタムフィールドを持つネットワーク上のlogstashにデータを送信logback.groovyを持っています。しかし、elasticsearch downstreamには有効でないいくつかのフィールド名をクリーンアップする必要があります。 LogstashEncoderのドキュメントに基づいて、これは次のように達成することができます。Logback.groovy LogstashEncoder変更フィールド名は
<encoder class="net.logstash.logback.encoder.LogstashEncoder">
<fieldNames>
<timestamp>time</timestamp>
<message>msg</message>
...
</fieldNames>
</encoder>
これは偉大なようだが、私はlogback.groovy表記にこれに合うように持っています。 ハッシュマップ、文字列などを試しましたが、いつも最後になりますCannot cast object 'xxxx' with class 'xxxx' to class 'net.logstash.logback.fieldnames.LogstashFieldNames'
興味深い回答です。残念ながら、それは実際には機能しません。 FieldNames自体は存在しません。私はそれをLogstashFieldNamesに変換し、...(これはコンパイルエラーを与える)しかし、それはそのクラスのタイムスタンププロパティを設定することができないと文句を言う。 –