def __init__(self, zoo_keeper, table_name, ds_path):
    log_format = logging.Formatter('%(asctime)s %(levelname)s %(filename)s: '
      '%(lineno)s %(message)s')
    logging.getLogger().handlers[0].setFormatter(log_format)
    logging.info("Logging started")

    threading.Thread.__init__(self)
    self.zoo_keeper = zoo_keeper
    self.table_name = table_name
    self.db_access = None
    self.ds_access = None
    self.datastore_path = ds_path
    self.stats = {}
    self.namespace_info = {}
    self.num_deletes = 0
    self.composite_index_cache = {}
    self.entities_checked = 0
    self.journal_entries_cleaned = 0
    self.index_entries_checked = 0
    self.index_entries_delete_failures = 0
    self.index_entries_cleaned = 0
    self.last_logged = time.time()
    self.groomer_state = []
Constructor.
dataset/ETHPy150Open AppScale/appscale/AppDB/groomer.py/DatastoreGroomer.__init__