Interface ProcessingTracer<E extends AbstractTraceEvent>

All Known Implementing Classes:
ProcessingTracer.LoggerBased

@Experimental public interface ProcessingTracer<E extends AbstractTraceEvent>
Traces processing of low-level operations like selectors or authorizations processing. Useful when unstructured logging is not enough. Highly experimental. We'll see if it's of any use.
  • Method Details

    • isEnabled

      boolean isEnabled()
    • trace

      void trace(@NotNull E event)
      Called only if isEnabled() is `true`.
    • loggerBased

      static <E extends AbstractTraceEvent> ProcessingTracer<E> loggerBased(@NotNull @NotNull Trace logger, @NotNull @NotNull String logPrefix)
      Provides the default logger-based tracer.
      Parameters:
      logger - Logger to use. Necessary to e.g. group all authorization-related logging messages under common logger.
      logPrefix - Text to prepend to each first line of a log record.
    • loggerBased

      static <E extends AbstractTraceEvent> ProcessingTracer<E> loggerBased(@NotNull @NotNull Trace logger)