class LateBindingLoggerProvider
Hierarchy
- class \OpenTelemetry\API\Logs\LateBindingLoggerProvider implements \OpenTelemetry\API\Logs\LoggerProviderInterface
Expanded class hierarchy of LateBindingLoggerProvider
1 file declares its use of LateBindingLoggerProvider
- SdkAutoloader.php in vendor/
open-telemetry/ sdk/ SdkAutoloader.php
File
-
vendor/
open-telemetry/ api/ Logs/ LateBindingLoggerProvider.php, line 9
Namespace
OpenTelemetry\API\LogsView source
class LateBindingLoggerProvider implements LoggerProviderInterface {
private ?LoggerProviderInterface $loggerProvider = null;
/** @param Closure(): LoggerProviderInterface $factory */
public function __construct(Closure $factory) {
}
public function getLogger(string $name, ?string $version = null, ?string $schemaUrl = null, iterable $attributes = []) : LoggerInterface {
return $this->loggerProvider?->getLogger($name, $version, $schemaUrl, $attributes) ?? new LateBindingLogger(fn(): LoggerInterface => ($this->loggerProvider ??= ($this->factory)())
->getLogger($name, $version, $schemaUrl, $attributes));
}
}
Members
Title Sort descending | Modifiers | Object type | Summary | Overriden Title |
---|---|---|---|---|
LateBindingLoggerProvider::$loggerProvider | private | property | ||
LateBindingLoggerProvider::getLogger | public | function | Overrides LoggerProviderInterface::getLogger | |
LateBindingLoggerProvider::__construct | public | function |