
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