I don't know the platform. On something un*x-like, the following should work (I assume a single logfile, without true rotation {:== writes modulo maxsize} but even that could be handled)
you read the file doing whatever filtering, and record size read
you seek to the last position recorded and filter from there
is there any reason why a simple scheme like this could not work?
AND of course you should try what has been previously recommended
hth
--stephan