if __name__ == '__main__': params = parse_params() begin = time.time() # ќбъ¤вл¤ю глобальные переменные contexts = {} result = {} # ѕолучаю строковый генератор событий из библиотеки передав список параметров - глоб str_events = logsparseLib.read_events_from_files(params.globs, filter='DBPOSTGRS', filter_operation='eq') i = 0 for str_event in str_events: i += 1 if params.debug: print(str_event + '\n') if not i % 10000: print i try: event = logsparseLib.Event(str_event) except: logsparseLib.log('cant modify event \n' + str_event, params=params) next process_event(event) print_result()
# Объявляю глобальные переменные sessions = {} types = {} # Получаю строковый генератор событий из библиотеки передав список параметров - глоб str_events = logsparseLib.read_events_from_files(params.globs, filter_operation='') i = 1 last_date = '' diff = 0 max_diffs = define_empty_max_diffs(params) for str_event in str_events: # print(str_event+'\n') if not i % 100: print i if params.debug: print_max_diffs(max_diffs) exit(0) event = logsparseLib.Event(str_event) if not last_date: last_date = event.datetime diff = event.datetime - last_date define_max_diff(diff, event, max_diffs) last_date = event.datetime #print diff i += 1 print_max_diffs(max_diffs) logsparseLib.log(str(time.time() - begin), params=params)
# Парсим параметры params = parse_params() # Создаем генератор на cобытия ТЖ events = logsparseLib.read_events_from_steam(sys.stdin) # Формируем регулярку для поиска свойства и вычленения его значения property_finder = re.compile(',{0}=([^,]+?),'.format(params.property), re.IGNORECASE) # Инициализируем словарь с найденными свойствами properties = {} # Инициализируем словарь для работы с файлами files = {} # Инициализируем максимальное количество открытых файлов FILES_MAX = 512 # Для каждого события ищем свойство for event in events: logsparseLib.log(event, params, 'debug') result = property_finder.findall(event) # Если нашли, то формируем файл с именем - значением свойства if result: logsparseLib.log('FIND' + event, params, 'debug') write_in_file(event, result[0]) # Если не нашли, то формируем файл с именем none else: logsparseLib.log('NOT FIND' + event, params, 'debug') write_in_file(event, 'none') # Закрываем все открытые файлы в конце for file in files.iterkeys(): files[file]['fd'].close()