code: def list_logstore(self, project_name, logstore_name_pattern=None, offset=0, size=100):
          
  
          # need to use extended method to get more
          if int(size) == -1 or int(size) > MAX_LIST_PAGING_SIZE:
              return list_more(self.list_logstore, int(offset), int(size), MAX_LIST_PAGING_SIZE,
                               project_name, logstore_name_pattern)
  
          headers = {}
          params = {}
          resource = "/logstores"
          if logstore_name_pattern is not None:
              params['logstoreName'] = logstore_name_pattern
          params['offset'] = str(offset)
          params['size'] = str(size)
          (resp, header) = self._send("GET", project_name, None, resource, params, headers)
          return ListLogStoreResponse(resp, header)
docs: list the logstore in a projectListLogStoreResponse
          Unsuccessful opertaion will cause an LogException.
  
          :type project_name: string
          :param project_name: the Project name
  
          :type logstore_name_pattern: string
          :param logstore_name_pattern: the sub name logstore, used for the server to return logstore names contain this sub name
  
          :type offset: int
          :param offset: the offset of all the matched names
  
          :type size: int
          :param size: the max return names count, -1 means all
  
          :return: ListLogStoreResponse
  
          :raise: LogException