def read(self, path):
        logInfo = {}
        logInfo["statistics"] = {}
        logInfo["config"] = {}
        logInfo["distribution"] = {}
        logInfo["summary"] = {}
        file_id = open(path, "r")
        line = file_id.readline()
        while(line):
            config_pattern_matched = re.search(self.configPattern, line)
            distribution_pattern_matched = re.search(self.distributionPattern, line)
            latency_pattern_matched = re.search(self.latencyPattern, line)
            stats_pattern_matched = re.search(self.statsPattern, line)
            summary_pattern_matched = re.search(self.summary_pattern, line)
            if config_pattern_matched:
                try:
                    if not re.search(self.configDiffPattern, line):
                        logInfo["config"].update(self.readConfig(file_id))
                except:
                    pass
            elif distribution_pattern_matched:
                try:
                    logInfo["distribution"].update(self.readDistribution(file_id))
                except:
                    pass
            elif latency_pattern_matched:
                try:
                    logInfo["latency"] = self.readLatency(file_id)
                except:
                    pass
            elif stats_pattern_matched:
                try:
                    logInfo["statistics"].update(self.readStats(file_id))
                except:
                    pass
            elif summary_pattern_matched:
                try:
                    logInfo["summary"].update(self.readSummary(file_id, line))
                except:
                    pass
            try:
                line = file_id.readline()
            except __HOLE__:
                break
        return logInfo
dataset/ETHPy150Open aerospike/aerospike-admin/lib/logreader.py/LogReader.read