2010-10-04 96 views
0

我正在使用FSSM監視日誌文件。到目前爲止,這工作正常。如何檢測文件更改?

只要文件被更新,FSSM就會通知我。 但是如何在不操作給定的日誌文件的情況下檢測新的日誌條目?

我當前的代碼是:

FSSM::Monitor.new.path(Dir.pwd, file) do 
     update { |base, relative| 
      puts "Change detected (#{file}): Base: #{base} Relative:#{relative}" 
     } 
end 

回答

0

,如果你正在尋找基本尾文件,你要打開的句柄保持到該文件,並在最後的位置。然後,當添加新東西時,您只需從該手柄讀取,它應該會讀取「新東西」

+0

無需保持手柄處於打開狀態。在關閉它之前記住文件的「pos」。隨後的打開可能會重新定位到同一位置,並繼續閱讀到文件結尾。除非文件完全重寫,否則該位置信息不會神祕地改變。 – 2011-01-08 04:38:01