Class SdkLoggerProviderBuilder

java.lang.Object
io.opentelemetry.sdk.logs.SdkLoggerProviderBuilder

public final class SdkLoggerProviderBuilder extends Object
Builder class for SdkLoggerProvider instances.
  • Method Details

    • setResource

      public SdkLoggerProviderBuilder setResource(io.opentelemetry.sdk.resources.Resource resource)
      Assign a Resource to be attached to all LogRecordData created by Loggers obtained from the SdkLoggerProvider.
      Parameters:
      resource - the resource
      Returns:
      this
    • setLogLimits

      public SdkLoggerProviderBuilder setLogLimits(Supplier<LogLimits> logLimitsSupplier)
      Assign a Supplier of LogLimits. LogLimits will be retrieved each time a Logger.logRecordBuilder() is called.

      The logLimitsSupplier must be thread-safe and return immediately (no remote calls, as contention free as possible).

      Parameters:
      logLimitsSupplier - the supplier that will be used to retrieve the LogLimits for every LogRecordBuilder.
      Returns:
      this
    • addLogRecordProcessor

      public SdkLoggerProviderBuilder addLogRecordProcessor(LogRecordProcessor processor)
      Add a log processor. LogRecordProcessor.onEmit(Context, ReadWriteLogRecord) will be called each time a log is emitted by Logger instances obtained from the SdkLoggerProvider.
      Parameters:
      processor - the log processor
      Returns:
      this
    • setClock

      public SdkLoggerProviderBuilder setClock(io.opentelemetry.sdk.common.Clock clock)
      Assign a Clock. The Clock may be used to determine "now" in the event that the epoch millis are not set directly.

      The clock must be thread-safe and return immediately (no remote calls, as contention free as possible).

      Parameters:
      clock - The clock to use for all temporal needs.
      Returns:
      this
    • build

      public SdkLoggerProvider build()
      Create a SdkLoggerProvider instance.
      Returns:
      an instance configured with the provided options