ログファイルを解析しています:
2015-07-15 12:59:39 +0530 [ERROR] index=abc host=abc
2015-07-15 12:59:39 +0530 [WARNING] index=def
host=def
2015-07-15 12:59:39 +0530 [INFO] index=ghi host=ghi
すべてのログはタイム スタンプで始まります。
ログを個別に解析することを考えています。タイムスタンプとフェッチでそれらを分離することを考えたので、正規表現を書きました:
text = File.open('logs.txt').read
log = text[/^\d{4}\-\d{2}\-\d{2}(.*?)^\d{4}\-\d{2}\-\d{2}/m, ].to_s
.gsub(/\s/m,' ').strip.split(' ')
puts log #Prints 2015-07-15 12:59:39 +0530 [ERROR] index=abc host=abc
ただし、これは最初のログのみをフェッチします。
2015-07-15 12:59:39 +0530 [ERROR] index=abc host=abc
残りではありません。
- 最初のログの後にログを取得し続けるにはどうすればよいですか?
- 私のアプローチよりもこれを処理するためのより良い方法はありますか?
ありがとうございました。