サポートしているソフトウェアの問題を示す特定のエラーをログから検索する単純なログ スニファーを作成しています。これにより、ユーザーはログへのパスを指定し、何日前に検索するかを指定できます。
ユーザーがログのロールオーバーをオフにしている場合、ログ ファイルが非常に大きくなることがあります。現在、私は次のことを行っています(まだ完了していませんが):
File.open(@log_file, "r") do |file_handle|
file_handle.each do |line|
if line.match(/\d+++-\d+-\d+/)
etc...
line.match は明らかに、ログで使用する日付形式を探します。残りのロジックは以下のとおりです。ただし、.each_line なしでファイルを検索するより良い方法はありますか? そうでなければ、私はそれでまったく問題ありません。利用可能な最高のリソースを使用していることを確認したかっただけです。
ありがとう