我希望简化我的日志文件解析器,并使用模板引擎替换复杂的正则表达式。这个想法是反转模板引擎的过程,并将模板描述和有效结果文件作为输入。多行日志文件如下:
所有这些都有相同的结构,并且可以用伪模板语言描述:
*** ID: X821 ***
- type: B5
- time-stamp: 20160202T01:11:01.2991
* Device: XKK-255141
所有这些都有相同的结构,并且可以用伪模板语言描述:
*** ID: {{string}} ***
- type: {{string}}
- time-stamp: {{date}}
* Device: XKK-{{integer}}
有没有一种模板引擎可以解析日志文件,查找模板文件中的结构并返回HashMap/List/Object中的内容?
注意: 我知道我可以在ANTLR中编写一个简单的DSL。但这里的想法是简化解析并接受仅支持基本多行日志文件而不支持递归的事实。