Howdy,

I am doing some log processing (cross referencing multiple logs, and 
activating triggers based on the results) and printing the results to 
stdout for testing while writing to a file at the same time.  The 
symptom that I am seeing is that the output to stdout is immediate, 
while tailing the file with the same output seems to be one entry 
behind.  Here is what the code looks like:

                    logRoot = '/var/log/'
                    blockLog = File.open(logRoot + 'block.log', "a+")
                    result = searchFW(src,dst,path,time)   # does a 
search for the needed info in the log, and returns the matching lines
                    unless result.empty?
                        token = parseFW(result)                  #  runs 
the results through a parser that pulls out the relevant bits
                        blockLog << date+"+"+token+"+"+url+"\n"
                        p date+"+"+token+"+"+url
                    end

I am a bit green, so my code bits may look clunky.  I am using ruby 1.8 
on FreeBSD, and the above code is in the depths of a loop that tails a 
log file.  Actually, the code above is a compressed view with the 
relevant parts.  Variables/objects are declared further up in the tree.