You are here

public function LoggerChannelFactory::get in Drupal 10

Same name and namespace in other branches
  1. 8 core/lib/Drupal/Core/Logger/LoggerChannelFactory.php \Drupal\Core\Logger\LoggerChannelFactory::get()
  2. 9 core/lib/Drupal/Core/Logger/LoggerChannelFactory.php \Drupal\Core\Logger\LoggerChannelFactory::get()

File

core/lib/Drupal/Core/Logger/LoggerChannelFactory.php, line 32

Class

LoggerChannelFactory
Defines a factory for logging channels.

Namespace

Drupal\Core\Logger

Code

public function get($channel) {
  if (!isset($this->channels[$channel])) {
    $instance = new LoggerChannel($channel);

    // If we have a container set the request_stack and current_user services
    // on the channel. It is up to the channel to determine if there is a
    // current request.
    if ($this->container) {
      $instance
        ->setRequestStack($this->container
        ->get('request_stack'));
      $instance
        ->setCurrentUser($this->container
        ->get('current_user'));
    }

    // Pass the loggers to the channel.
    $instance
      ->setLoggers($this->loggers);
    $this->channels[$channel] = $instance;
  }
  return $this->channels[$channel];
}