XML is a bridge, not a parking garage.
Bottlenecks can be a huge problem for a large log.
But the problem isn't with the bridge, but the lot.
I like how my Apache keeps logs. Apache will rename a large log and begin on a new log. A simple perl script could check the size of your log and rename it as needed.
So access_log becomes access_log.2, access_log.3 etc.
Also since a large log is something you want to avoid,
XML would only add multiple bytes you don't really
need to the file.
I'd keep it tab delimited and save tons of space.
You can always convert the tab delimited file to
XML later to go somewhere else.