ログファイルパーサーを簡略化し、は複雑な正規表現をテンプレートエンジンに置き換えます。この考え方は、テンプレートエンジンのプロセスを逆にして、テンプレートの説明と有効な結果ファイルを入力として与えることです。解析するテンプレートエンジンはありテンプレートエンジンを使用してJavaの複数行ログファイルを解析する
*** ID: {{string}} ***
- type: {{string}}
- time-stamp: {{date}}
* Device: XKK-{{integer}}
:それらのすべてが同じ構造を持ち、擬似テンプレート言語で記述することができ
*** ID: X821 ***
- type: B5
- time-stamp: 20160202T01:11:01.2991
* Device: XKK-255141
:複数行のログファイルは次のようになりログファイルを作成し、テンプレートファイル内の構造をルックアップし、HashMap/List/Objectにコンテンツを返しますか?
注: 私はANTLRで簡単なDSLを書くことができたことを知っています。しかし、ここでの考え方は、解析を単純化し、再帰を伴わない基本的な複数行ログファイルだけがサポートされることを受け入れることです。
ステファン、コードを共有してくれてありがとう!これは、問題を解決するためのかなりスマートな方法です。 –