Package io.opentelemetry.sdk.logs
Class SdkLoggerProviderBuilder
java.lang.Object
io.opentelemetry.sdk.logs.SdkLoggerProviderBuilder
Builder class for
SdkLoggerProvider instances.-
Method Summary
Modifier and TypeMethodDescriptionaddLogRecordProcessor(LogRecordProcessor processor) Add a log processor.build()Create aSdkLoggerProviderinstance.setClock(io.opentelemetry.sdk.common.Clock clock) Assign aClock.setLogLimits(Supplier<LogLimits> logLimitsSupplier) setResource(io.opentelemetry.sdk.resources.Resource resource) Assign aResourceto be attached to allLogRecordDatacreated byLoggers obtained from theSdkLoggerProvider.
-
Method Details
-
setResource
Assign aResourceto be attached to allLogRecordDatacreated byLoggers obtained from theSdkLoggerProvider.- Parameters:
resource- the resource- Returns:
- this
-
setLogLimits
Assign aSupplierofLogLimits.LogLimitswill be retrieved each time aLogger.logRecordBuilder()is called.The
logLimitsSuppliermust be thread-safe and return immediately (no remote calls, as contention free as possible).- Parameters:
logLimitsSupplier- the supplier that will be used to retrieve theLogLimitsfor everyLogRecordBuilder.- Returns:
- this
-
addLogRecordProcessor
Add a log processor.LogRecordProcessor.onEmit(Context, ReadWriteLogRecord)will be called each time a log is emitted byLoggerinstances obtained from theSdkLoggerProvider.- Parameters:
processor- the log processor- Returns:
- this
-
setClock
Assign aClock. TheClockmay be used to determine "now" in the event that the epoch millis are not set directly.The
clockmust 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
Create aSdkLoggerProviderinstance.- Returns:
- an instance configured with the provided options
-