Инструмент для работы с файлом журнала, созданным параллельными рабочими (например, системой сборки)

У нас есть система сборки, которая записывает логи параллельных рабочих в один и тот же файл. Я ищу инструмент, чтобы упростить жизнь с этим типом бревен.

Каждая строка в этом файле журнала представляет собой произвольную текстовую строку, начинающуюся с идентификатора работника. Например:

11> compiling my.cpp
14> compiling your.cpp
7> ***starting linking***
7> Linking project CoreEngine...
14> compiling my2.cpp
  • 11, 14 и 7 здесь не связаны.

Иногда записи журнала, создаваемые одним рабочим, разделяют тысячи строк. Я ищу способ оптимизировать этот опыт. Было бы неплохо спрятать все несвязанные записи и просто посмотреть интересную.

В качестве бонуса - иногда рабочий может начать нового работника с новым идентификатором с постоянным текстовым сообщением. Было бы неплохо отслеживать эти зависимости как-то тоже.

Кто-нибудь знает инструмент, который может помочь с этим?

Я делал поиск в интернете и тут, пока не явного ответа.

благодарю вас!

1 ответ

Если вы ищете инструмент, grep, вероятно, самый простой здесь. Вы можете извлечь отдельные рабочие потоки.

Если вы можете кодировать практически на любом языке, вам лучше написать собственный синтаксический анализатор и вывести данные так, как вы хотите, в формате, который наиболее удобен для чтения.

Другие вопросы по тегам