All Downloads are FREE. Search and download functionalities are using the official Maven repository.

brave.context.log4j2.ThreadContextScopeDecorator Maven / Gradle / Ivy

package brave.context.log4j2;

import brave.internal.propagation.CorrelationFieldScopeDecorator;
import brave.propagation.CurrentTraceContext.ScopeDecorator;
import org.apache.logging.log4j.ThreadContext;

/**
 * Adds {@linkplain ThreadContext} properties "traceId", "parentId" and "spanId" when a {@link
 * brave.Tracer#currentSpan() span is current}. These can be used in log correlation.
 *
 * 

Ex. *

{@code
 * tracing = Tracing.newBuilder()
 *                  .currentTraceContext(ThreadLocalCurrentTraceContext.newBuilder()
 *                    .addScopeDecorator(ThreadContextScopeDecorator.create())
 *                    .build()
 *                  )
 *                  ...
 *                  .build();
 * }
*/ public final class ThreadContextScopeDecorator extends CorrelationFieldScopeDecorator { public static ScopeDecorator create() { return new ThreadContextScopeDecorator(); } @Override protected String get(String key) { return ThreadContext.get(key); } @Override protected void put(String key, String value) { ThreadContext.put(key, value); } @Override protected void remove(String key) { ThreadContext.remove(key); } ThreadContextScopeDecorator() { } }




© 2015 - 2025 Weber Informatics LLC | Privacy Policy