armannvg's link shows a lot of programs that will do what you want and feniix offers another good solution. However, I would suggest that you break your logs down by date if they're getting that big, otherwise log to a database not a flat file. It's just not efficient to store logs that large in a single text file. Unless you absolutely need to see everything from the beginning of that log to the very end, why open and load all of that data every single time you need to peek at the logs?
Instead, I'd recommend breaking logs down to more manageable chunks and naming them by date so that they can be easily organized/searched. Then you can more quickly find the log entries you're looking for and not have to sift through tons of irrelevant data.
And if you're getting 700MB logs from a single day's worth of data, then you might want to look into cutting down the amount of data you're logging, breaking the log into multiple files depending on the event type, or reduce redundant log data (e.g. if you're polling a resource every 10 seconds and it keeps spitting out the same data, then maybe only add log entries when there is a change in the resource status). You could potentially also break log files down to smaller intervals (e.g. by the hour), but maintaining long-term logs (and being able to make use of them) generated at 700MB/day seems like an untenable position to me.