次の形式のログファイルからメッセージをフィルタリングする必要があります。
2013-03-22T11:43:21.817078+01:00 INFO log msg 1...
...
2013-03-22T11:44:32.817114+01:00 WARNING log msg 2...
...
2013-03-22T11:45:45.817777+01:00 INFO log msg 3...
...
2013-03-22T11:46:59.547325+01:00 INFO log msg 4...
...
(ここ...
で「より多くのメッセージ」を意味します)
フィルタリングは、時間枠に基づいて実行する必要があります。これはbashスクリプトの一部であり、コードのこの時点で、時間枠はととして保存され$start_time
ます$end_time
。例えば:
start_time = "2013-03-22T11:45:20"
end_time = "2013-03-22T11:45:50"
またはの正確な値がログファイルに表示されない場合があることに注意してください。それでも、私が探しているものであるいくつかのメッセージが時間枠内にあります。$start_time
$end_time may
[$start_time, $end_time]
これで、フィルタリングを実行するためにPythonスクリプトが必要になるとほぼ確信していますが、実行速度がはるかに速い(ログファイルが大きい)ため、grep(またはawk、またはその他のツール)を使用したいと思います。
助言がありますか?