2017-06-02 7 views
1

J'essaie d'obtenir le Sleuth Span-Id et Trace-Id inclus comme additonalFields dans mon apperder GELF logback-sping.xml mais je n'ai pas de chance. Ils apparaissent bien dans la sortie du fichier journal dans la console, mais dans Graylog, ils n'apparaissent pas. NOTE: le profil fonctionne très bien.Impossible d'obtenir GELF Appender pour ajouter Sleuth Span Id

<property name="CONSOLE_LOG_PATTERN" value="%date{ISO8601} [${springProfile}] [${springAppName:-},%X{X-B3-TraceId:-},%X{X-B3-SpanId:-},%X{X-Span-Export:-}] [%level] [${PID}] [%X{bindName}] [%thread] [%logger{10}] : %msg%n %ex{20}"/> 


<springProfile name="integration,qa,prod"> 
    <appender name="GELF" class="biz.paluch.logging.gelf.logback.GelfLogbackAppender"> 
     <graylogHost>${graylogProtocol}:${graylogHost}</graylogHost> 
     <graylogPort>${graylogPort}</graylogPort> 
     <facility>${springAppName}</facility> 
     <additionalFields>profile=${springProfile},traceid=%X{X-B3-TraceId:-},spanid=%X{X-B3-SpanId:-}</additionalFields> 
     <extractStackTrace>true</extractStackTrace> 
     <filterStackTrace>true</filterStackTrace> 
     <maximumMessageSize>8192</maximumMessageSize> 
     <timestampPattern>yyyy-MM-dd HH:mm:ss,SSSS</timestampPattern> 
    </appender> 
</springProfile> 

a également essayé ceci:

 <additionalFields>profile=${springProfile},traceid=${X-B3-TraceId},spanid=${X-B3-SpanId}</additionalFields> 

Pas de chance.

Répondre

1

Les champs supplémentaires sont statiques. Ils peuvent être pré-traités en appliquant les propriétés du système, mais ne pas extraire les valeurs du MDC (%X).

Utilisez mdcFields à cet effet:

<mdcFields>X-B3-TraceId,X-B3-SpanId</mdcFields> 

mdcFields ne supporte pas nommage des champs de champs inclus MDC (par exemple traceid=X-B3-TraceId ne fonctionne pas).

Documentation: http://logging.paluch.biz/examples/logback.html