Thanks to both of you for the solution.

The double while loop seems a bit more concise, but it depends on
File#gets method handles the changing file content correctly. I will
give it a spin.

Best,

Oliver

On Nov 28, 3:33 pm, Christian von Kleist <cvonkle... / gmail.com> wrote:
> 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 <gwtm... / 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