Class TracingAwareLoggingObservationHandler<T extends io.micrometer.observation.Observation.Context>

java.lang.Object
org.springframework.ai.observation.TracingAwareLoggingObservationHandler<T>
Type Parameters:
T - type of handler context
All Implemented Interfaces:
io.micrometer.observation.ObservationHandler<T>

public class TracingAwareLoggingObservationHandler<T extends io.micrometer.observation.Observation.Context> extends Object implements io.micrometer.observation.ObservationHandler<T>
An ObservationHandler that can wrap another one and makes the tracing data available for the ObservationHandler.onStop(Observation.Context) method. This handler can be used in cases where the logging library or needs access to the tracing data (i.e.: log correlation).
Since:
1.0.0
Author:
Jonatan Ivanov
  • Nested Class Summary

    Nested classes/interfaces inherited from interface io.micrometer.observation.ObservationHandler

    io.micrometer.observation.ObservationHandler.AllMatchingCompositeObservationHandler, io.micrometer.observation.ObservationHandler.CompositeObservationHandler, io.micrometer.observation.ObservationHandler.FirstMatchingCompositeObservationHandler
  • Constructor Summary

    Constructors
    Constructor
    Description
    TracingAwareLoggingObservationHandler(io.micrometer.observation.ObservationHandler<T> delegate, io.micrometer.tracing.Tracer tracer)
    Creates a new instance.
  • Method Summary

    Modifier and Type
    Method
    Description
    void
    onError(T context)
     
    void
    onEvent(io.micrometer.observation.Observation.Event event, T context)
     
    void
    onScopeClosed(T context)
     
    void
    onScopeOpened(T context)
     
    void
    onScopeReset(T context)
     
    void
    onStart(T context)
     
    void
    onStop(T context)
     
    boolean
    supportsContext(io.micrometer.observation.Observation.Context context)
     

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Constructor Details

    • TracingAwareLoggingObservationHandler

      public TracingAwareLoggingObservationHandler(io.micrometer.observation.ObservationHandler<T> delegate, io.micrometer.tracing.Tracer tracer)
      Creates a new instance.
      Parameters:
      delegate - ObservationHandler instance to delegate the handler method calls to
      tracer - Tracer instance to create the scope with
  • Method Details

    • onStart

      public void onStart(T context)
      Specified by:
      onStart in interface io.micrometer.observation.ObservationHandler<T extends io.micrometer.observation.Observation.Context>
    • onError

      public void onError(T context)
      Specified by:
      onError in interface io.micrometer.observation.ObservationHandler<T extends io.micrometer.observation.Observation.Context>
    • onEvent

      public void onEvent(io.micrometer.observation.Observation.Event event, T context)
      Specified by:
      onEvent in interface io.micrometer.observation.ObservationHandler<T extends io.micrometer.observation.Observation.Context>
    • onScopeOpened

      public void onScopeOpened(T context)
      Specified by:
      onScopeOpened in interface io.micrometer.observation.ObservationHandler<T extends io.micrometer.observation.Observation.Context>
    • onScopeClosed

      public void onScopeClosed(T context)
      Specified by:
      onScopeClosed in interface io.micrometer.observation.ObservationHandler<T extends io.micrometer.observation.Observation.Context>
    • onScopeReset

      public void onScopeReset(T context)
      Specified by:
      onScopeReset in interface io.micrometer.observation.ObservationHandler<T extends io.micrometer.observation.Observation.Context>
    • onStop

      public void onStop(T context)
      Specified by:
      onStop in interface io.micrometer.observation.ObservationHandler<T extends io.micrometer.observation.Observation.Context>
    • supportsContext

      public boolean supportsContext(io.micrometer.observation.Observation.Context context)
      Specified by:
      supportsContext in interface io.micrometer.observation.ObservationHandler<T extends io.micrometer.observation.Observation.Context>