class Logger
Same name in this branch
- 11.1.x vendor/symfony/http-kernel/Log/Logger.php \Symfony\Component\HttpKernel\Log\Logger
Note that this logger class is deliberately NOT psr-3 compatible, per spec: "Note: this document defines a log backend API. The API is not intended to be called by application developers directly."
Hierarchy
- class \OpenTelemetry\SDK\Logs\Logger implements \OpenTelemetry\API\Logs\LoggerInterface uses \OpenTelemetry\API\Behavior\LogsMessagesTrait
Expanded class hierarchy of Logger
See also
https://github.com/open-telemetry/opentelemetry-specification/blob/main…
5 string references to 'Logger'
- AbstractSessionListener::onKernelResponse in vendor/
symfony/ http-kernel/ EventListener/ AbstractSessionListener.php - @internal
- dblog.services.yml in core/
modules/ dblog/ dblog.services.yml - core/modules/dblog/dblog.services.yml
- LoggerDataCollector::getName in vendor/
symfony/ http-kernel/ DataCollector/ LoggerDataCollector.php - Returns the name of the collector.
- LoggerPass::process in vendor/
symfony/ http-kernel/ DependencyInjection/ LoggerPass.php - You can modify the container here before it is dumped to PHP code.
- syslog.services.yml in core/
modules/ syslog/ syslog.services.yml - core/modules/syslog/syslog.services.yml
File
-
vendor/
open-telemetry/ sdk/ Logs/ Logger.php, line 19
Namespace
OpenTelemetry\SDK\LogsView source
class Logger implements LoggerInterface {
use LogsMessagesTrait;
private LoggerConfig $config;
/**
* @internal
* @param Configurator<LoggerConfig>|null $configurator
*/
public function __construct(LoggerSharedState $loggerSharedState, InstrumentationScopeInterface $scope, ?Configurator $configurator = null) {
$this->config = $configurator ? $configurator->resolve($scope) : LoggerConfig::default();
}
public function emit(LogRecord $logRecord) : void {
//If a Logger is disabled, it MUST behave equivalently to No-op Logger.
if ($this->isEnabled() === false) {
return;
}
$readWriteLogRecord = new ReadWriteLogRecord($this->scope, $this->loggerSharedState, $logRecord);
// @see https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/logs/sdk.md#onemit
$this->loggerSharedState
->getProcessor()
->onEmit($readWriteLogRecord, $readWriteLogRecord->getContext());
if ($readWriteLogRecord->getAttributes()
->getDroppedAttributesCount()) {
self::logWarning('Dropped log attributes', [
'attributes' => $readWriteLogRecord->getAttributes()
->getDroppedAttributesCount(),
]);
}
}
public function isEnabled() : bool {
return $this->config
->isEnabled();
}
/**
* @param Configurator<LoggerConfig> $configurator
*/
public function updateConfig(Configurator $configurator) : void {
$this->config = $configurator->resolve($this->scope);
}
}
Members
Title Sort descending | Modifiers | Object type | Summary | Overriden Title |
---|---|---|---|---|
Logger::$config | private | property | ||
Logger::emit | public | function | This method should only be used when implementing a `log appender` | Overrides LoggerInterface::emit |
Logger::isEnabled | public | function | Determine if the logger is enabled. Logs bridge API authors SHOULD call this method each time they are about to generate a LogRecord, to avoid performing computationally expensive work. @experimental |
Overrides LoggerInterface::isEnabled |
Logger::updateConfig | public | function | ||
Logger::__construct | public | function | @internal | |
LogsMessagesTrait::doLog | private static | function | ||
LogsMessagesTrait::logDebug | protected static | function | ||
LogsMessagesTrait::logError | protected static | function | ||
LogsMessagesTrait::logInfo | protected static | function | ||
LogsMessagesTrait::logNotice | protected static | function | ||
LogsMessagesTrait::logWarning | protected static | function | ||
LogsMessagesTrait::shouldLog | private static | function |