Class SdkLoggerProviderBuilder
SdkLoggerProvider
instances.- Since:
- 1.27.0
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate Clock
private ScopeConfiguratorBuilder
<LoggerConfig> private final List
<LogRecordProcessor> private Resource
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescription(package private) SdkLoggerProviderBuilder
addLoggerConfiguratorCondition
(Predicate<InstrumentationScopeInfo> scopeMatcher, LoggerConfig loggerConfig) Adds a condition to the logger configurator, which computesLoggerConfig
for eachInstrumentationScopeInfo
.addLogRecordProcessor
(LogRecordProcessor processor) Add a log processor.addResource
(Resource resource) Merge aResource
with the current.build()
Create aSdkLoggerProvider
instance.Assign aClock
.(package private) SdkLoggerProviderBuilder
setLoggerConfigurator
(ScopeConfigurator<LoggerConfig> loggerConfigurator) Set the logger configurator, which computesLoggerConfig
for eachInstrumentationScopeInfo
.setLogLimits
(Supplier<LogLimits> logLimitsSupplier) setResource
(Resource resource) Assign aResource
to be attached to allLogRecordData
created byLogger
s obtained from theSdkLoggerProvider
.
-
Field Details
-
logRecordProcessors
-
resource
-
logLimitsSupplier
-
clock
-
loggerConfiguratorBuilder
-
-
Constructor Details
-
SdkLoggerProviderBuilder
SdkLoggerProviderBuilder()
-
-
Method Details
-
setResource
Assign aResource
to be attached to allLogRecordData
created byLogger
s obtained from theSdkLoggerProvider
.- Parameters:
resource
- the resource- Returns:
- this
-
addResource
Merge aResource
with the current.- Parameters:
resource
-Resource
to merge with current.- Since:
- 1.29.0
-
setLogLimits
Assign aSupplier
ofLogLimits
.LogLimits
will be retrieved each time aLogger.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 theLogLimits
for everyLogRecordBuilder
.- Returns:
- this
-
addLogRecordProcessor
Add a log processor.LogRecordProcessor.onEmit(Context, ReadWriteLogRecord)
will be called each time a log is emitted byLogger
instances obtained from theSdkLoggerProvider
.- Parameters:
processor
- the log processor- Returns:
- this
-
setClock
Assign aClock
.- Parameters:
clock
- The clock to use for all temporal needs.- Returns:
- this
-
setLoggerConfigurator
Set the logger configurator, which computesLoggerConfig
for 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:
-
addLoggerConfiguratorCondition
SdkLoggerProviderBuilder addLoggerConfiguratorCondition(Predicate<InstrumentationScopeInfo> scopeMatcher, LoggerConfig loggerConfig) Adds a condition to the logger configurator, which computesLoggerConfig
for 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).- See Also:
-
build
Create aSdkLoggerProvider
instance.- Returns:
- an instance configured with the provided options
-