For a long time now Anarchy Online has had the built-in capability to keep a log of a user defined group of channels, however while it is possible to read the logs ingame. The actual log file is not easily readable.
After having some trouble using Khuri's ChatConverter and Halorn's Log Reviewer to try and parse my log file for the day, I decided to mock up a log parser of my own. It's a very simple parser, without any configuration options, but it will parse a several megabyte log file in just a few seconds.
With Khuri's ChatConverter, my log files were way to large so I had to split them into pieces by hand, parse the pieces, and then combine the parsed version of the pieces. Also I noticed that when I parsed my tell messages for the day I would lose all the tells I sent to other players. (Yes, I did try both the online and offline versions.)
With Halorn's Log Reviewer, I think I got it running correctly, but I'm not sure. I didn't put much effort into trying to make it work. I put the log file were it wanted it, set the settings, and let it run. It was still running 5 minutes later :/. Maybe it got finished and then just entered an infinite loop. Either way..... it didn't seem like it was really beyond a beta or alpha level development.
So anway, I mocked up a new parser in Java. And go figure, the program was quite simple and very efficient. It's even able to handle a several megabyte log file without complaining =).
Here's how it works:
1. Download the Jar File
2. Put the Log.txt file you want it to parse in the same folder as the Jar File.
(Yes, the log file does have to be called Log.txt. And no, there is no configuration option to change this.)
3. Double Click on the Jar File
(If it asks you what program to use, go to java.com and update your version of java.)
4. Now you're done. If you don't see the parsed log files that were created hit F5 to refresh the window. There should be a file for each channel that was found in the log file.
For those who might be interested in the source code:
Download the Source Code here.
You'll need to change the extension to zip and then use your favorite extractor to view it. It's really simple. It's just one .java file with a main function.
To Do:
- Make sure the timestamps are being computed correctly (aka. match with GMT/AO time), DST offsets being the main concern at present
- Deal with the links in a more advanced fashion, rather then just replacing them all with Removed Link
- Allow the user to select which players they are or are not interested in parsing tells from
- Give the user the option to just split the log file, into one log file per channel, or to split it and turn it into BBCode/HTML
- Add a simple GUI
PS: If somebody knows a great guide on how to set up logging within AO, and/or how to find the Log.txt file, please post a link here. I know that several ppl have written good guides on how to do this. I just don't have any links to them handy.
PS: I also need suggestions on what to call it. I thought maybe I'll call it AOJParse or JParse, but they didn't seem quite right. Seemed rather dull to be honest. Anyway, if you've got any ideas let me know.