I had some trouble where a simple parser would take a bit of time. Turns out that there were many ways of improving this performance. I rewrote it to use the xml reader instead to be able to do these improvements. Some funky bugs got squished. The reader is a bit low level compared to niceties such as Nokogiri (in hindsight, maybe I should have been using). By using this class I could avoid some funkyness of XmlDocument having to cope with wierd xml at the expense of having less appealing code: LogEntryParser.
Comments or errors? Fork this post and do a pull request on github