У меня есть несколько приложений, которые генерируют текстовую информацию трассировки (журналы) для журналов файлов. Информация трассировки является типичным стилем printf () - то есть есть много записей журнала, которые похожи (тот же аргумент формата, что и у printf), но различаются в тех случаях, когда строка формата имеет параметры.
Каким будет алгоритм (URL, книги, статьи, ...), который позволит мне анализировать записи в журнале и классифицировать их по нескольким лоткам / контейнерам, где каждый лоток имеет один связанный формат?
По сути, я хотел бы преобразовать необработанные записи журнала в экземпляры (formatA, arg0 ... argN), где formatA совместно используется многими записями журнала. Формат A не обязательно должен быть точным форматом, используемым для создания записи (тем более, если это упрощает алгоритм).
Большая часть литературы и веб-информации, которую я нашел, имеет дело с точным соответствием, максимальным соответствием подстроки или k-разностью (с k известным / фиксированным заранее). Кроме того, он фокусируется на сопоставлении пары (длинных) строк или одного выходного лотка (одно совпадение среди всех входных данных). Мой случай несколько отличается, так как я должен выяснить, что представляет (достаточно хорошее) совпадение (как правило, последовательность прерывистых строк), а затем классифицировать каждую входную запись на одно из обнаруженных совпадений.
Наконец, я не ищу идеальный алгоритм, но что-то простое / легкое в обслуживании.
Спасибо!