Mercurial > hg > isophonics-drupal-site
view core/lib/Drupal/Core/Logger/LoggerChannelTrait.php @ 13:5fb285c0d0e3
Update Drupal core to 8.4.7 via Composer. Security update; I *think* we've
been lucky to get away with this so far, as we don't support self-registration
which seems to be used by the so-called "drupalgeddon 2" attack that 8.4.5
was vulnerable to.
author | Chris Cannam |
---|---|
date | Mon, 23 Apr 2018 09:33:26 +0100 |
parents | 4c8ae668cc8c |
children |
line wrap: on
line source
<?php namespace Drupal\Core\Logger; /** * 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. * * @see \Drupal\Core\DependencyInjection\ContainerInjectionInterface */ 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; } }