pax-logging-logback と logstash-logback-encoder を使用して、json 形式で logstash にログオンしています。ここで、logstash-logback-encoder のマーカーを使用して、JSON 出力にフィールドを追加したいと考えています。
<?xml version="1.0" encoding="UTF-8"?>
<appender name="st"
class="net.logstash.logback.appender.LogstashTcpSocketAppender">
<destination>127.0.0.1:6000</destination>
<encoder class="net.logstash.logback.encoder.LoggingEventCompositeJsonEncoder">
<providers>
<context/>
<version/>
<logLevel/>
<loggerName/>
<message/>
<logstashMarkers/>
<stackTrace/>
</providers>
</encoder>
</appender>
<root level="INFO">
<appender-ref ref="st" />
</root>
logger.info(Markers.append("msg","msg"),"MSG!");
LogstashTcpSocketAppender は json を logstash に送信しますが、追加のフィールドはありません ("msg":"msg")。シンプルなMavenプロジェクトLogstashTcpSocketAppenderで同じコードを使用しようとすると、jsonにフィールドが追加されます。
メソッド`の場合、サービスミックスはエラーを表示しません
logger.info(Markers.append("msg","msg"),"MSG!");
実行可能です。