我有一些应用程序可以生成文本跟踪信息(日志)以记录文件。跟踪信息是典型的 printf() 样式 - 即有很多类似的日志条目(与 printf 相同的格式参数),但在格式字符串有参数的地方不同。
什么是一种算法(网址、书籍、文章……),它可以让我分析日志条目并将它们分类到几个箱/容器中,每个箱都有一个关联的格式?
本质上,我想要将原始日志条目转换为 (formatA, arg0 ... argN) 实例,其中 formatA 在许多日志条目之间共享。formatA 不必是用于生成条目的确切格式(如果这使算法更简单,则更是如此)。
我发现的大多数文献和网络信息都涉及精确匹配、最大子字符串匹配或 k 差异(k 提前已知/固定)。此外,它侧重于匹配一对(长)字符串或单个 bin 输出(所有输入中的一个匹配)。我的情况有些不同,因为我必须发现什么代表(足够好)匹配(通常是一系列不连续的字符串),然后将每个输入条目分类为发现的匹配之一。
最后,我不是在寻找完美的算法,而是在寻找简单/易于维护的东西。
谢谢!