/**
  * Logs with an arbitrary level.
  *
  * @param mixed $level
  * @param mixed $message
  * @param mixed[] $context
  * @return null
  */
 public function log($level, $message, array $context = array())
 {
     if (!array_key_exists($level, $this->levels)) {
         $level = $this->defaultLevel;
     }
     $level = \LoggerLevel::toLevel($this->levels[$level], $this->defaultLevel);
     $message = $this->formatter->format($level, $message, $context);
     $this->logger->log($level, $message);
 }
 public function testFormatNonString()
 {
     $actual = $this->sut->format(LogLevel::INFO, $expected = new \stdClass(), array('Fizz' => 'Buzz'));
     self::assertSame($expected, $actual);
 }