trait LoggerChannelTrait in Drupal 10
Same name and namespace in other branches
- 8 core/lib/Drupal/Core/Logger/LoggerChannelTrait.php \Drupal\Core\Logger\LoggerChannelTrait
- 9 core/lib/Drupal/Core/Logger/LoggerChannelTrait.php \Drupal\Core\Logger\LoggerChannelTrait
Wrapper methods for the logger factory service.
This utility trait should only be used in application-level code, such as classes that would implement ContainerInjectionInterface. Services registered in the Container should not use this trait but inject the appropriate service directly for easier testing.
Hierarchy
- trait \Drupal\Core\Logger\LoggerChannelTrait
See also
\Drupal\Core\DependencyInjection\ContainerInjectionInterface
3 files declare their use of LoggerChannelTrait
- ControllerBase.php in core/
lib/ Drupal/ Core/ Controller/ ControllerBase.php - FormBase.php in core/
lib/ Drupal/ Core/ Form/ FormBase.php - LayoutBuilderIntegration.php in core/
modules/ quickedit/ src/ LayoutBuilderIntegration.php
File
- core/
lib/ Drupal/ Core/ Logger/ LoggerChannelTrait.php, line 15
Namespace
Drupal\Core\LoggerView source
trait LoggerChannelTrait {
/**
* The logger channel factory service.
*
* @var \Drupal\Core\Logger\LoggerChannelFactoryInterface
*/
protected $loggerFactory;
/**
* Gets the logger for a specific channel.
*
* @param string $channel
* The name of the channel. Can be any string, but the general practice is
* to use the name of the subsystem calling this.
*
* @return \Psr\Log\LoggerInterface
* The logger for the given channel.
*
* @todo Require the use of injected services:
* https://www.drupal.org/node/2733703
*/
protected function getLogger($channel) {
if (!$this->loggerFactory) {
$this->loggerFactory = \Drupal::service('logger.factory');
}
return $this->loggerFactory
->get($channel);
}
/**
* Injects the logger channel factory.
*
* @param \Drupal\Core\Logger\LoggerChannelFactoryInterface $logger_factory
* The logger channel factory service.
*
* @return $this
*/
public function setLoggerFactory(LoggerChannelFactoryInterface $logger_factory) {
$this->loggerFactory = $logger_factory;
return $this;
}
}