code: def callback(self, filename, lines, **kwargs):
          
  
          self._logger.debug('Redis transport called')
  
          timestamp = self.get_timestamp(**kwargs)
          if kwargs.get('timestamp', False):
              del kwargs['timestamp']
  
          namespaces = self._beaver_config.get_field('redis_namespace', filename)
          if not namespaces:
              namespaces = self._namespace
          namespaces = namespaces.split(",")
  
          self._logger.debug('Got namespaces: '.join(namespaces))
  
          data_type = self._data_type
          self._logger.debug('Got data type: ' + data_type)
  
          server = self._get_next_server()
          self._logger.debug('Got redis server: ' + server['url'])
  
          pipeline = server['redis'].pipeline(transaction=False)
  
          callback_map = {
              self.LIST_DATA_TYPE: pipeline.rpush,
              self.CHANNEL_DATA_TYPE: pipeline.publish,
          }
          callback_method = callback_map[data_type]
  
          for line in lines:
              for namespace in namespaces:
                  callback_method(
                      namespace.strip(),
                      self.format(filename, line, timestamp, **kwargs)
                  )
  
          try:
              pipeline.execute()
          except redis.exceptions.RedisError, exception:
              self._logger.warn('Cannot push lines to redis server: ' + server['url'])
              raise TransportException(exception)
docs: Sends log lines to redis servers