2010-10-04 84 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