/** * Logs with an arbitrary level. * * @param mixed $level * @param string $message * @param array $context * @return null * @throws InvalidArgumentException if log level is not recognized */ public function log($level, $message, array $context = []) { if (!array_key_exists($level, $this->psrPriorityMap)) { throw new InvalidArgumentException(sprintf('$level must be one of PSR-3 log levels; received %s', var_export($level, 1))); } $priority = $this->psrPriorityMap[$level]; $this->logger->log($priority, $message, $context); }