interface LoggerChannelInterface in Service Container 7
Same name and namespace in other branches
- 7.2 lib/Drupal/Core/Logger/LoggerChannelInterface.php \Drupal\Core\Logger\LoggerChannelInterface
Logger channel interface.
This interface defines the full behavior of the central Drupal logger facility. However, when writing code that does logging, use the generic \Psr\Log\LoggerInterface for typehinting instead (you shouldn't need the methods here).
To add a new logger to the system, implement \Psr\Log\LoggerInterface and add a service for that class to a services.yml file tagged with the 'logger' tag. The default logger channel implementation will call the log() method of every logger service with some useful data set in the $context argument of log(): request_uri, referer, ip, user, uid.
SECURITY NOTE: the caller might also set a 'link' in the $context array which will be printed as-is by the dblog module under an "operations" header. Usually this is a "view", "edit" or similar relevant link. Make sure to use proper, secure link generation facilities; some are listed below.
Hierarchy
- interface \Psr\Log\LoggerInterface
- interface \Drupal\Core\Logger\LoggerChannelInterface
Expanded class hierarchy of LoggerChannelInterface
All classes that implement LoggerChannelInterface
See also
\Drupal\Core\Logger\RfcLoggerTrait
\Drupal\Core\Logger\\LoggerChannelFactoryInterface
\Drupal\Core\Utility\LinkGeneratorInterface
\Drupal\Core\Routing\LinkGeneratorTrait::l()
\Drupal\Core\Entity\EntityInterface::link()
1 file declares its use of LoggerChannelInterface
- LoggerChannel.php in src/
Logger/ LoggerChannel.php - Contains \Drupal\service_container\Logger\LoggerChannel.
File
- lib/
Drupal/ Core/ Logger/ LoggerChannelInterface.php, line 40 - Contains \Drupal\Core\Logger\LoggerChannelInterface.
Namespace
Drupal\Core\LoggerView source
interface LoggerChannelInterface extends LoggerInterface {
/**
* Sets the request stack.
*
* @param \Symfony\Component\HttpFoundation\RequestStack|null $requestStack
* The current request object.
*/
public function setRequestStack(RequestStack $requestStack = NULL);
/**
* Sets the current user.
*
* @param \Drupal\Core\Session\AccountInterface|null $current_user
* The current user object.
*/
public function setCurrentUser(AccountInterface $current_user = NULL);
/**
* Sets the loggers for this channel.
*
* @param array $loggers
* An array of arrays of \Psr\Log\LoggerInterface keyed by priority.
*/
public function setLoggers(array $loggers);
/**
* Adds a logger.
*
* @param \Psr\Log\LoggerInterface $logger
* The PSR-3 logger to add.
* @param int $priority
* The priority of the logger being added.
*/
public function addLogger(LoggerInterface $logger, $priority = 0);
}
Members
Name | Modifiers | Type | Description | Overrides |
---|---|---|---|---|
LoggerChannelInterface:: |
public | function | Adds a logger. | 1 |
LoggerChannelInterface:: |
public | function | Sets the current user. | 1 |
LoggerChannelInterface:: |
public | function | Sets the loggers for this channel. | 1 |
LoggerChannelInterface:: |
public | function | Sets the request stack. | 1 |
LoggerInterface:: |
public | function | Action must be taken immediately. | 2 |
LoggerInterface:: |
public | function | Critical conditions. | 2 |
LoggerInterface:: |
public | function | Detailed debug information. | 2 |
LoggerInterface:: |
public | function | System is unusable. | 2 |
LoggerInterface:: |
public | function | Runtime errors that do not require immediate action but should typically be logged and monitored. | 2 |
LoggerInterface:: |
public | function | Interesting events. | 2 |
LoggerInterface:: |
public | function | Logs with an arbitrary level. | 3 |
LoggerInterface:: |
public | function | Normal but significant events. | 2 |
LoggerInterface:: |
public | function | Exceptional occurrences that are not errors. | 2 |