SwiftAnalyzer 1.0.3332.26827 BETA
GM Log Parser for Ascent-based servers.
This application is still a work in progress!!!
What is SwiftAnalyzer?
SwiftAnalyzer is an application for Windows that makes it much easier to work with the gm command logfiles that Ascent generates. With SwiftAnalyzer, you can select the logfile you want to read, and the program will parse every line in the file, organizing all the data into neat, easy-to-read columns. You can sort the data by any column, and more importantly, you can search and filter the data so you see only the records you are looking for.
How does it work, and how do I use it?
SwiftAnalyzer works by opening the logfile you specify and reading every line in the file. As a line is read, a regex is applied to the line to extract important data from it such as date/time, account id, account name, player name, and the action performed. This data is then inserted into a table under its respective columns.
Once this process completes, which usually takes about one second per 5,000 lines of data, the Logfile Analyzer window will open with the table data filled in. You can then sort the data by clicking on a column header, and you can filter the table to show only the records you want by using the Filter Designer.
Say you want to find all the records of any time the GM Twisted used the kill command: you simply add a filter for "Twisted" in the "Player Name" column, and another filter for "used kill" in the "Action" column. Then click apply filter, and you'll see every time Twisted used .kill. You can add as many filters as you want, and you can also fine tune the comparison type between "contains", "doesn't contain", "equals", and "doesn't equal".
Filters are for the most part applied instantly except when using the <All fields> filter, which searches in every column, in which case the amount of time for the filter to complete depends on how many rows you have in your log. You generally should avoid using the All fields filter if your log has more than 75-100k rows.
While SwiftAnaylzer can technically handle logs of any size, it works best with logfiles under 150-200k rows. The more rows your file has, the longer it takes SwiftAnalyzer to parse the file, sort it, and filter it. For this reason, SwiftAnalyzer also includes a "Split File" function, which will split your gmcommand.log file once it gets to be too big. [this feature is currently NYI]
In addition to all of the above, SwiftAnalyzer can also export data to CSV (comma separated value) file for use in programs like Microsoft Excel, OO.org Calc, etc. as well as an HTML file in case you want a formatted version of the logfile. Why you'd need this, I don't know, but I added it out of boredom anyway. [this feature is currently NYI]
As mentioned above, this application is still somewhat in development as I'm working on adding the few missing features. I am currently aware of the following issues that need to be fixed:
-Split does not work
-Settings does not work
-Export does not work
If you find an issue not mentioned above, please report it to me via email (twist3df4te at gmail dot com), PM, or a post here.
SwiftAnalyzer was written in VC# 2005; I may consider releasing the code once everything's finished and I've cleaned up/commented it.
Screenshots[IMGR]http://i42.tinypic.com/il9iz9.jpg[/IMGR]
Download
v1.0.3332.26827: http://www.leetsoft.net/updates/swan/SwiftAnalyzer.exe
Scan results (http://virusscan.jotti.org):
Enjoy, please post comments.Code:File: SwiftAnalyzer.exe 1.0.3332.478 Status: OK MD5: 13378880b44ed05a8d0dd50a166c12b2 (lol md5 starts with 1337) Packers detected: - Scan taken on 14 Feb 2009 16:03:41 (GMT) A-Squared Found nothing AntiVir Found nothing ArcaVir Found nothing Avast Found nothing AVG Antivirus Found nothing BitDefender Found nothing ClamAV Found nothing CPsecure Found nothing Dr.Web Found nothing F-Prot Antivirus Found nothing F-Secure Anti-Virus Found nothing G DATA Found nothing Ikarus Found nothing Kaspersky Anti-Virus Found nothing NOD32 Found nothing Norman Virus Control Found nothing Panda Antivirus Found nothing Sophos Antivirus Found nothing VirusBuster Found nothing VBA32 Found nothing