Something I've been doing for practice and as a hobby. It doesn't do anything too special, it just takes your log files and puts all of the info into a nice GUI. It lists all of the files by date. Upon clicking on a file, you get all of the log items of that file in another list. If you click on a log item, you get the item's message in the bottom pane. Included in the zip: TShockLogParser or TShockLogParser64Bit folder. Contains the main executable and much less clutter than previous versions. Instructions: Extract into your main server folder. This should be the folder that holds TerrariaServer.exe. You should have a tshock folder in your main server folder. This is where your logs are held. Make sure that the directory I described in the first message of this step is valid. Just go into the newly extracted folder and run 'TShock Log Parser.exe' Note: Both .vbs and .bat are provided 'just in case' and for convenience. Also, I haven't tested on any OS besides Windows. Theoretically, it should run fine on others. (Not the vbs or bat files, though.) The tool is written in Python and the source code has some comprehensive docstrings. (Which is something I'm trying to work on, my docstring format and conventions. Known bugs: Messes up some stack traces in the bottom pane. And in a whole other bunch of ways. Not really a bug, but the length of the bottom pane affects the width of the middle listbox. As such, if the full text is so large that it 'drowns out' other elements: just choose another log item or resize the window. Current Download: here. Current 64-Bit Download: here. Old PGU Download here. Update 8-21-2012: Complete port to Tk, using tkinter. Allows for searching Times with the search function Requires an exact match, there are no wildcards. Ex: "7:35:14" 64-Bit version now available. Update 8-19-2012: Includes searching and filter. Edit: Added an INDEV tag, to warn of bugginess for those who read the title. One would think this is obvious in these boards of the forums, but I can't help but be pretentious with my announcements.
Updated to include searching for specific elements. The search is case-sensitive and you may search either the whole log element, the class or file that logged the element, the type of log element it is, or the message of it. Example from screenshot: 7:35:14 PM - Utils: INFO: Broadcast Killed 7 NPCs... First comes the time, then "Utils" which is the class that logged this. Then comes "INFO" which is the type of log element. Then comes "Broadcast Killed..." which is the actual message. You can see in the search bar in the picture the word "Utils" is in the input box and the drop-down selection box is on "Class". Now if you look in the main window, you will notice all of the items come from the "Utils" class. If you want to remove any filters, simply click "Search" with an empty input box.
Suggestion: Split log files automagically. Since it crashes if you try to read too big of a file, perhaps read in a set amount of bytes per file. I'm pretty sure people have month old logs( hell week old logs) that are gbs in size.
Well, it parses the file fine. It's when adding all of the items to the list box that it crashes. So, I'll have to split up the files into separate pages or items maybe. Meaning an explicit click somewhere in the gui to get to the next part of the file. While I don't really like the idea of that, it seems like it's the only way.