You can do something like this:

f = File.new('logfile.log')

while true
  while(line = f.gets)
    puts line
  end
  sleep 5
end


On Nov 28, 2007 3:21 PM, Gary Wright <gwtmp01 / mac.com> wrote:
>
> On Nov 28, 2007, at 3:05 PM, Oliver wrote:
> > One process periodically will append its output to a file (which is
> > not under my control), I want to write a ruby problem to detect and
> > report only the *new* stuff that went into the output file ... Besides
> > the brute force way such as opening the file and counting the lines
> > etc, is there a better solution to it?
>
> You can use File.stat('filename').size to get the number of bytes in
> the file or .mtime to find the last modification time.  If the bytes
> and/or time changes you can then open the file and grab the new lines.
>
> Gary Wright
>
>