Class SdkLoggerProviderBuilder
- java.lang.Object
-
- io.opentelemetry.sdk.logs.SdkLoggerProviderBuilder
-
public final class SdkLoggerProviderBuilder extends java.lang.ObjectBuilder class forSdkLoggerProviderinstances.- Since:
- 1.27.0
-
-
Field Summary
Fields Modifier and Type Field Description private Clockclockprivate ScopeConfiguratorBuilder<LoggerConfig>loggerConfiguratorBuilderprivate java.util.function.Supplier<LogLimits>logLimitsSupplierprivate java.util.List<LogRecordProcessor>logRecordProcessorsprivate Resourceresource
-
Constructor Summary
Constructors Constructor Description SdkLoggerProviderBuilder()
-
Method Summary
-
-
-
Field Detail
-
logRecordProcessors
private final java.util.List<LogRecordProcessor> logRecordProcessors
-
resource
private Resource resource
-
logLimitsSupplier
private java.util.function.Supplier<LogLimits> logLimitsSupplier
-
clock
private Clock clock
-
loggerConfiguratorBuilder
private ScopeConfiguratorBuilder<LoggerConfig> loggerConfiguratorBuilder
-
-
Method Detail
-
setResource
public SdkLoggerProviderBuilder setResource(Resource resource)
Assign aResourceto be attached to allLogRecordDatacreated byLoggers obtained from theSdkLoggerProvider.- Parameters:
resource- the resource- Returns:
- this
-
addResource
public SdkLoggerProviderBuilder addResource(Resource resource)
Merge aResourcewith the current.- Parameters:
resource-Resourceto merge with current.- Since:
- 1.29.0
-
setLogLimits
public SdkLoggerProviderBuilder setLogLimits(java.util.function.Supplier<LogLimits> logLimitsSupplier)
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
public SdkLoggerProviderBuilder addLogRecordProcessor(LogRecordProcessor processor)
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
public SdkLoggerProviderBuilder setClock(Clock clock)
Assign aClock.- Parameters:
clock- The clock to use for all temporal needs.- Returns:
- this
-
setLoggerConfigurator
SdkLoggerProviderBuilder setLoggerConfigurator(ScopeConfigurator<LoggerConfig> loggerConfigurator)
Set the logger configurator, which computesLoggerConfigfor eachInstrumentationScopeInfo.This method is experimental so not public. You may reflectively call it using
SdkLoggerProviderUtil.setLoggerConfigurator(SdkLoggerProviderBuilder, ScopeConfigurator).Overrides any matchers added via
addLoggerConfiguratorCondition(Predicate, LoggerConfig).- See Also:
LoggerConfig.configuratorBuilder()
-
addLoggerConfiguratorCondition
SdkLoggerProviderBuilder addLoggerConfiguratorCondition(java.util.function.Predicate<InstrumentationScopeInfo> scopeMatcher, LoggerConfig loggerConfig)
Adds a condition to the logger configurator, which computesLoggerConfigfor eachInstrumentationScopeInfo.This method is experimental so not public. You may reflectively call it using
SdkLoggerProviderUtil.addLoggerConfiguratorCondition(SdkLoggerProviderBuilder, Predicate, LoggerConfig).Applies after any previously added conditions.
If
setLoggerConfigurator(ScopeConfigurator)was previously called, this condition will only be applied if theFunction.apply(Object)returns null for the matchedInstrumentationScopeInfo(s).
-
build
public SdkLoggerProvider build()
Create aSdkLoggerProviderinstance.- Returns:
- an instance configured with the provided options
-
-