class LoggerProviderBuilder
Hierarchy
- class \OpenTelemetry\SDK\Logs\LoggerProviderBuilder
Expanded class hierarchy of LoggerProviderBuilder
File
-
vendor/
open-telemetry/ sdk/ Logs/ LoggerProviderBuilder.php, line 14
Namespace
OpenTelemetry\SDK\LogsView source
class LoggerProviderBuilder {
/** @var array<LogRecordProcessorInterface> */
private array $processors = [];
private ?ResourceInfo $resource = null;
private ?Configurator $configurator = null;
public function addLogRecordProcessor(LogRecordProcessorInterface $processor) : self {
$this->processors[] = $processor;
return $this;
}
public function setResource(ResourceInfo $resource) : self {
$this->resource = $resource;
return $this;
}
public function build() : LoggerProviderInterface {
return new LoggerProvider($this->buildProcessor(), new InstrumentationScopeFactory(Attributes::factory()), $this->resource, configurator: $this->configurator ?? Configurator::logger());
}
public function setConfigurator(Configurator $configurator) : self {
$this->configurator = $configurator;
return $this;
}
private function buildProcessor() : LogRecordProcessorInterface {
return match (count($this->processors)) { 0 => NoopLogRecordProcessor::getInstance(),
1 => $this->processors[0],
default => new MultiLogRecordProcessor($this->processors),
};
}
}
Members
Title Sort descending | Modifiers | Object type | Summary |
---|---|---|---|
LoggerProviderBuilder::$configurator | private | property | |
LoggerProviderBuilder::$processors | private | property | @var array<LogRecordProcessorInterface> |
LoggerProviderBuilder::$resource | private | property | |
LoggerProviderBuilder::addLogRecordProcessor | public | function | |
LoggerProviderBuilder::build | public | function | |
LoggerProviderBuilder::buildProcessor | private | function | |
LoggerProviderBuilder::setConfigurator | public | function | |
LoggerProviderBuilder::setResource | public | function |