Форум программистов, компьютерный форум CyberForum.ru

Автоматизация расшифровывания логов - C++

Восстановить пароль Регистрация
 
Орехов Орех
0 / 0 / 0
Регистрация: 01.05.2014
Сообщений: 68
Записей в блоге: 3
23.05.2014, 09:20     Автоматизация расшифровывания логов #1
Добрый день.
Собираюсь писать простую программу, для разбора логов:
читает текстовый лог-файл, отсеивает лишние строки-мусор (большая часть текста) и оставляет-выводит в другое место необходимые нужные строки, которые в дальнейшем подлежат анализу.
Для решения такой задачи мне , как я понял, нужно что-то типа словаря - чтобы искать нужные строки сравнением.
Я приблизительно представляю, что нужно делать, но хотелось бы получить совета от людей, которые чаще меня занимаются решением такого рода задач - сэкономит немного времени.

Кликните здесь для просмотра всего текста

Читаем файл. Считываем содержимое в память. Потом уже в памяти этим работаем.
Это вроде бы самый простой вариант, но чувствую, что можно сделать лучше.
Тем более что лог-файлы, с которыми я собираюсь работать, очень большого размера : 10-20 мегабайт.


Добавлено через 15 часов 55 минут
вверх
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
23.05.2014, 09:20     Автоматизация расшифровывания логов
Посмотрите здесь:

Анализ логов музея. C++
C++ автоматизация научного эксперимента
C++ Builder нужна программа шифрования и расшифровывания сообщения по шифру Цезаря
Нужно, чтобы для шифрования и расшифровывания использовались разные ключи C#
C++ Автоматизация(перемещение)
Автоматизация Google Chrome C++
Консоль для ведения логов C++
C++ Класс для вывода логов
Автоматизация создания указателей C++
Автоматизация ввода с клавиатуры C++
Запись логов в файл C++
C++ Что такое Автоматизация в OLE и COM

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
YouDoItWrong
46 / 46 / 7
Регистрация: 29.10.2011
Сообщений: 154
23.05.2014, 09:27     Автоматизация расшифровывания логов #2
Цитата Сообщение от Орехов Орех Посмотреть сообщение
очень большого размера : 10-20 мегабайт
Это очень маленький размер. Если речь идет о настольных ПК и т.п.

Добавлено через 3 минуты
И можно подробнее о
Цитата Сообщение от Орехов Орех Посмотреть сообщение
отсеивает лишние строки-мусор (большая часть текста) и оставляет-выводит в другое место необходимые нужные строки, которые в дальнейшем подлежат анализу.
Какого рода строки нужно отсеивать и что оставлять?
Deiron
25 / 25 / 1
Регистрация: 25.05.2009
Сообщений: 98
23.05.2014, 09:48     Автоматизация расшифровывания логов #3
Ну смотря какие логи. Логи TomCat, даже при обильном кодинге, редко разрастаются больше, чем до 5 МБ.

Тут, на самом деле нетривиальная задача. Потому что сообщение об ошибке может занимать более 1-й строки (например, сообщение об ошибке в Java бывает строчек этак на 20, когда там пишут всю "иерархию ошибки").

И в любом случае, что бы вам помочь нужен образец лога (10 МБ не обязательно. Оставьте из него 1 МБ, не больше) и признак, по которому определяется "полезность сообщения". Или можно даже не сам лог (если там приватные данные) а его структуру. Опять же, не забыв указать строки какого вида вас интересуют.

Или, если могут "сегодня интересовать строки одного вида, завтра - другого" - опять же, примерный лог и ограничения по строкам
Орехов Орех
0 / 0 / 0
Регистрация: 01.05.2014
Сообщений: 68
Записей в блоге: 3
24.05.2014, 09:55  [ТС]     Автоматизация расшифровывания логов #4
Спасибо за ответы.
Знаю, что задача не очень трудная. Даже совсем не трудная.,
Просто мне бы хотелось сделать не прилично (не г**внокод).

Теперь немного конкретизирую:
Имеется программа, которая типа "клиент-сервер". (на самом деле не так, но это не принципиально - описание подходит)
С этой программой работают пользователи. Разные постоянно или одни и те же - неважно.
Сам лог содержит различные операции, которые выполняли пользователи в программе.

Когда появляется пользователь и начинает выполнять операции в логах это фиксируется ключевым словом "start"
и заканчивается словом "stop". Это если упростить совсем.
На самом деле логи очень и очень сложные. Самая простая операция занимает примерно строк 50-60.
Но среди них много "мусора" - т.е информации , которая лично мне не нужна.
Сейчас я не смогу полностью расшифровывать логи , потому что не владею всем "словарём" возможных команд\операций из лог-файлов, но я знаю как выглядит мусор , начало и конец операций, а так же некоторые важные команды.
  1. начало операции
  1. мусормусормусормусор важная команда мусор мусор
  1. важная команда мусормусормусормусор
  1. мусормусормусормусор важная команда
  1. конец операции
*примерно так, но мусора и строк намного больше.

Я бы просто хотел упростить чтение логов.
(Знаете, как содержание или закладки в электронной книге - выделяются важные моменты и можно переходить напрямую к ним)
0x10
2437 / 1609 / 235
Регистрация: 24.11.2012
Сообщений: 3,949
24.05.2014, 10:09     Автоматизация расшифровывания логов #5
Сомневаюсь, что без примера формата лога кто-то сможет дать конкретный совет.
Общие слова:
1. Берем запись, разбиваем на поля.
2. По каким-то признакам определяем тип записи.
3. В зависимости от типа записи отфильтровать важные поля.

Цитата Сообщение от Орехов Орех Посмотреть сообщение
На самом деле логи очень и очень сложные.
А логи чьи? Если самописной софтины, то нужно сразу продумывать такой формат, который легко парсить. Если интерпретация неоднозначная - это головняк на ровном месте. Писать эвристики для разбора логов - последнее дело.
Орехов Орех
0 / 0 / 0
Регистрация: 01.05.2014
Сообщений: 68
Записей в блоге: 3
24.05.2014, 22:23  [ТС]     Автоматизация расшифровывания логов #6
Логи не от самописной софтины.
На счёт интерпретации: всё не так однозначно. т.е я могу определить по ключевым словам те строки, которые мне нужны, и те которые мне не нужны. Как я уже написал выше - я хотел бы немного упростить себе чтение логов.
И если я избавлюсь от мусора и оставлю "нужные строки", то в принципе я останусь доволен

Добавлено через 3 часа 31 минуту
вверх
Yandex
Объявления
24.05.2014, 22:23     Автоматизация расшифровывания логов
Ответ Создать тему
Опции темы

Текущее время: 17:35. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru