Class MicrometerReactiveLogger

  • All Implemented Interfaces:
    ReactiveLoggerListener<reactivefeign.client.metrics.MicrometerReactiveLogger.MetricsContext>

    public class MicrometerReactiveLogger
    extends java.lang.Object
    implements ReactiveLoggerListener<reactivefeign.client.metrics.MicrometerReactiveLogger.MetricsContext>
    Micrometer implementation
    Author:
    Sergii Karpenko
    • Field Summary

      Fields 
      Modifier and Type Field Description
      static java.lang.String DEFAULT_TIMER_NAME  
    • Constructor Summary

      Constructors 
      Constructor Description
      MicrometerReactiveLogger​(java.time.Clock clock, io.micrometer.core.instrument.MeterRegistry meterRegistry, java.lang.String name, java.util.Set<MetricsTag> tags)  
    • Method Summary

      All Methods Static Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      static MicrometerReactiveLogger basicTimer()  
      void bodyReceived​(java.lang.Object body, reactivefeign.client.metrics.MicrometerReactiveLogger.MetricsContext logContext)  
      void bodySent​(java.lang.Object body, reactivefeign.client.metrics.MicrometerReactiveLogger.MetricsContext logContext)  
      void errorReceived​(java.lang.Throwable throwable, reactivefeign.client.metrics.MicrometerReactiveLogger.MetricsContext logContext)  
      boolean logRequestBody()  
      boolean logResponseBody()  
      reactivefeign.client.metrics.MicrometerReactiveLogger.MetricsContext requestStarted​(ReactiveHttpRequest request, feign.Target<?> target, feign.MethodMetadata methodMetadata)  
      void responseReceived​(ReactiveHttpResponse<?> response, reactivefeign.client.metrics.MicrometerReactiveLogger.MetricsContext logContext)  
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Field Detail

      • DEFAULT_TIMER_NAME

        public static final java.lang.String DEFAULT_TIMER_NAME
        See Also:
        Constant Field Values
    • Constructor Detail

      • MicrometerReactiveLogger

        public MicrometerReactiveLogger​(java.time.Clock clock,
                                        io.micrometer.core.instrument.MeterRegistry meterRegistry,
                                        java.lang.String name,
                                        java.util.Set<MetricsTag> tags)
    • Method Detail

      • requestStarted

        public reactivefeign.client.metrics.MicrometerReactiveLogger.MetricsContext requestStarted​(ReactiveHttpRequest request,
                                                                                                   feign.Target<?> target,
                                                                                                   feign.MethodMetadata methodMetadata)
        Specified by:
        requestStarted in interface ReactiveLoggerListener<reactivefeign.client.metrics.MicrometerReactiveLogger.MetricsContext>
      • responseReceived

        public void responseReceived​(ReactiveHttpResponse<?> response,
                                     reactivefeign.client.metrics.MicrometerReactiveLogger.MetricsContext logContext)
        Specified by:
        responseReceived in interface ReactiveLoggerListener<reactivefeign.client.metrics.MicrometerReactiveLogger.MetricsContext>
      • errorReceived

        public void errorReceived​(java.lang.Throwable throwable,
                                  reactivefeign.client.metrics.MicrometerReactiveLogger.MetricsContext logContext)
        Specified by:
        errorReceived in interface ReactiveLoggerListener<reactivefeign.client.metrics.MicrometerReactiveLogger.MetricsContext>
      • logRequestBody

        public boolean logRequestBody()
        Specified by:
        logRequestBody in interface ReactiveLoggerListener<reactivefeign.client.metrics.MicrometerReactiveLogger.MetricsContext>
      • bodySent

        public void bodySent​(java.lang.Object body,
                             reactivefeign.client.metrics.MicrometerReactiveLogger.MetricsContext logContext)
        Specified by:
        bodySent in interface ReactiveLoggerListener<reactivefeign.client.metrics.MicrometerReactiveLogger.MetricsContext>
      • logResponseBody

        public boolean logResponseBody()
        Specified by:
        logResponseBody in interface ReactiveLoggerListener<reactivefeign.client.metrics.MicrometerReactiveLogger.MetricsContext>
      • bodyReceived

        public void bodyReceived​(java.lang.Object body,
                                 reactivefeign.client.metrics.MicrometerReactiveLogger.MetricsContext logContext)
        Specified by:
        bodyReceived in interface ReactiveLoggerListener<reactivefeign.client.metrics.MicrometerReactiveLogger.MetricsContext>