code: public function log($level, $message, array $context = array())
      {
          if (in_array($level, array(LogLevel::EMERGENCY, LogLevel::ALERT, LogLevel::CRITICAL, LogLevel::ERROR))) {
              $this->writeError('<error>'.$message.'</error>', true, self::NORMAL);
          } elseif ($level === LogLevel::WARNING) {
              $this->writeError('<warning>'.$message.'</warning>', true, self::NORMAL);
          } elseif ($level === LogLevel::NOTICE) {
              $this->writeError('<info>'.$message.'</info>', true, self::VERBOSE);
          } elseif ($level === LogLevel::INFO) {
              $this->writeError('<info>'.$message.'</info>', true, self::VERY_VERBOSE);
          } else {
              $this->writeError($message, true, self::DEBUG);
          }
      }
docs: Logs with an arbitrary level.
  
  @param  mixed  $level
  @param  string $message
  @param  array  $context
  @return null