Interface LogRecordProcessor

All Superinterfaces:
AutoCloseable, Closeable
All Known Implementing Classes:
BatchLogRecordProcessor, SimpleLogRecordProcessor

@ThreadSafe public interface LogRecordProcessor extends Closeable
LogRecordProcessor is the interface to allow synchronous hooks for log records emitted by Loggers.
Since:
1.27.0
  • Method Details

    • composite

      static LogRecordProcessor composite(LogRecordProcessor... processors)
      Returns a LogRecordProcessor which simply delegates to all processing to the processors in order.
    • composite

      static LogRecordProcessor composite(Iterable<LogRecordProcessor> processors)
      Returns a LogRecordProcessor which simply delegates to all processing to the processors in order.
    • onEmit

      void onEmit(io.opentelemetry.context.Context context, ReadWriteLogRecord logRecord)
      Called when a Logger LogRecordBuilder.emit()s a log record.
      Parameters:
      context - the context set via LogRecordBuilder.setContext(Context), or Context.current() if not explicitly set
      logRecord - the log record
    • shutdown

      default io.opentelemetry.sdk.common.CompletableResultCode shutdown()
      Shutdown the log processor.
      Returns:
      result
    • forceFlush

      default io.opentelemetry.sdk.common.CompletableResultCode forceFlush()
      Process all log records that have not yet been processed.
      Returns:
      result
    • close

      default void close()
      Closes this LogRecordProcessor after processing any remaining log records, releasing any resources.
      Specified by:
      close in interface AutoCloseable
      Specified by:
      close in interface Closeable