From: Daniel Shackelford Date: 2006-06-08T22:01:42+09:00 Subject: Re: output delay Thank you, that was exactly what I needed. Last night as I was trying to sleep I was thinking about the fact that it was an I/O and would probably need to be flushed, and sure enough. Matthew Smillie wrote: > > On Jun 7, 2006, at 22:06, Daniel Shackelford wrote: > >> 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: > > This is the result of buffered output, one simple change ought to fix > it up: > > >> >> 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" > blockLog.flush >> p date+"+"+token+"+"+url >> end > > > > -- Daniel Shackelford Systems Administrator Technology Services Spring Arbor University 517 750-6648 "For even the Son of Man did not come to be served, but to serve, and to give His life a ransom for many" Mark 10:45