Releases: tintin10q/minecraft-logs-analyzer
Updated windows exe and fixed parsing error
What to download
If you use windows and want an easy time just download the .exe
and run it. If run use the .exe file you might get a false positive with virus programs. See the README.md for more information about this.
If you know how to use python you can also just run the .pwy
version with python or compile your own .exe using the Makefile. The build.zip
has everything you need for this.
If you have any problems do not hesitate to create a github issue or send me a message. Have fun learning about your play time!
Read on to learn what changed in this release.
Updated Windows executable
In this release I finally updated the windows executable to the latest version of minecraft-logs-analyser. This means that the updates that the python .pyw version has gotten are now included into the .exe version. I don't use windows anymore so that was why this took some time.
Fixed parsed error if minecraft closed with a crash
In this release I fixed the ERROR (file location) logs could not be parsed. Could be log from modded client that uses different logging format
error that sometimes appeared in the scan logs.
This error was incorrectly raised if the last log in your log file was a crash log. The last line of a log file is a crash log when your Minecraft crashes and the crash reason is logged. A crash log spans multiple lines but the minecraft-logs-analyser used to only simply check the first and last line of the log file for a time stamp. But because crash logs span multiple lines the time stamp of the crash log is not on the last line of the file. That caused the parse error. Now minecraft-logs-analyser actually reads the file backwards properly to find the time stamp. This means that this error should not happen anymore. This could add some log files to your scan because this bug meant that any Minecraft session that ended in a crash was previously not included in the scan result.
Actual different logging format
You can, of course still get this error if you do use a heavily modded client that actually changes the logging time format in a significant way. But if that happens every file should give this could not be parsed error
instead of just a couple files like what happened before this update. It will probably not happen again because the regex to parse the time stamps is quite lenient. If this does happen you can use the python version and change the line below at the top of the python file (after the imports) to a regex that does work for you. Just make sure to capture the same groups (hour, min and sec). More info about python regex here.
time_pattern = re.compile(r'(?P<hour>\d{2}):(?P<min>\d{2}):(?P<sec>\d{2})', re.I) # line 18
Full Changelog: 1.3.2...1.4.0
Linux support
- Thanks to the pull request from @othello777 we now have linux support.
- I also did a bit more it but this works well. I maybe push my additional linux changes in the future.
Really minor update
Fixed makefile.
Increased compatibility with logs from modded + optimization.
-
Removed [ and ] from the regular expression that searches for logs.
This way a lot more logging formats should be supported. Apparently modded formats can look like this: [10Okt2019 18:18:17.113] now we only look for 18:18:17 -
Fixed the freeze that happens if you have a large glob search
-
Added format strings
-
Changed how insert works to make more sense. Error is not replaced with scream and there is now end like print.
-
Tried to add further multithreading but failed.
New Splash Screen, Makefile and minor fix
New Things:
- Added splash screen when starting the program
- Added higher resolution icon
- If the icon is in the same directory as the .exe the icon will display in the gui
- Fixed an unhandled exception that was raised when clicking cancel in the color selection screen
- Updated the .exe file
- Added a Makefile to make generating the .exe files easier
- People can build their own .exe's with make if they get false positives from their virus scanners
Fix for python 3.7 and up!
- Fixed a bug that made the program not work properly with python 3.7 and up
- Fixed a bug where certain errors were not sent to the gui
- Added a zip version download
- Changed "pip install matplotlib" to "pip install --user matplotlib"
- I did not update the .exe file it will still work but some error's might not get logged
Please sent me a message if you encounter any further problems :)
minecraft-logs-analyzer
minecraft-logs-analyzer
A tool to analyze chat logs generated by Minecraft
Due to the text encoding used, this will likely only work on Windows.
There are 3 modes:
[1] Automatic (default)
[2] Enter path(s)
[3] Enter glob
1: Automatic trys to detect your logs in the normal minecraft folder
C:/Users/USER/AppData/Roaming/.minecraft/logs
2: With this mode you can enter your own file paths
Separate multiple paths with pipes (vertical bar: | ).
3: With glob you can enter a glob to select multiple folders in a directory,
glob will basically select your path but also all the paths of any subdirectories that might exist in your spicified path and that match the glob
Separate multiple globs with pipes (vertical bar: | ). Make sure files don't overlap
Folders that start with period must be explicitly specified
(AppData/Roaming/.*/logs)
Glob-Example: To find all logs folders in all folders that start with . in AppData,
C:/Users/USER/AppData/Roaming/.*/**
This would select all the logs in .minecraft but also in .technic for instance
Globs can take a bit to load if your selection is large
You can read more about globs here: https://pymotw.com/3/glob/
This is how it all looks: https://imgur.com/a/ZuV0CCW
Results
You can export the results into 2 ways
- A graph with hours per month
- A csv file with hours per session
This next part is only for those who use the .pyw version
Atleast python 3.6 is required for this program to work it might work on python 3.5 but I have not tested that
This program uses matplotlib pyplot to create graphs. If you do not have matplotlib installed please install it by entering the flowing command into the cmd:
pip install matplotlib
If that does not work try to reinstall python and make sure to click the install pip option
The program will also detect if you do not have matplotlib installed and it will ask you if you want to auto install
This will basicly run os.system("pip install matplotlib") this is about the same as running "pip install matplotlib" in the cmd