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)
示例#3
0
    # Парсим параметры
    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()