Skip to main content
Drupal API
User account menu
  • Log in

Breadcrumb

  1. Drupal Core 11.1.x
  2. LoggerProviderBuilder.php

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\Logs
View 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&lt;LogRecordProcessorInterface&gt;
LoggerProviderBuilder::$resource private property
LoggerProviderBuilder::addLogRecordProcessor public function
LoggerProviderBuilder::build public function
LoggerProviderBuilder::buildProcessor private function
LoggerProviderBuilder::setConfigurator public function
LoggerProviderBuilder::setResource public function
RSS feed
Powered by Drupal