While playing some Demos of games, 1 megabyte of log is written every 2 seconds. After playing for a while, the log is 700 megabytes large. When the game crashes, it feels inconvenient to upload it, because it is so large. Is there any way to narrow down the log to only the most relevant information? For example, if a game crashes after playing for an hour, is there any way to determine the last few minutes of gameplay? Does this happen in all games?
It happened for me while using the Dec 4 release of Xenia (latest) while playing Diablo 3, Pixar Up, and Sonic Unleashed. I can test more games if you'd like me to
The rapid speed of writing to log was happening during 3D scenes.
During 2D intro cutscenes, the logs were increasing at a slower rate
setting the command line argument log_level can help with this. using --log_level=0 will only log errors. Also it's possible to zip (or otherwise compress) the log file which can shrink its size by sometimes as much as 10x.
Xenia should automatically compress logs like rpcs3 does to avoid this.
Xenia should automatically compress logs like rpcs3 does to avoid this.
Think using gzip to compress the logs would be enough?
EDIT: gonna checkout if you can use gzip with streaming data
https://gist.github.com/jgarzik/2716209 <--- an 8 year old example, but the Boost library seems to have some tools to help with that
https://github.com/geromueller/zstream-cpp <--- found this library that seems to make the implementation of the zipped log easier.
Also, another sugestion I've been thinking: instead of having a single monolithic file, why don't we split the log into several files as it goes along? Probably, if there's an issue, we don't need the entire 700 megabytes (example given before) log to track a problem. Maybe the last 100000 lines could be enough...
Most helpful comment
Xenia should automatically compress logs like rpcs3 does to avoid this.