2

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!");

実行可能です。

4

0 に答える 0