If we only bother how much Data the storage it would take it would be per build order:Could limit it to only show 1 every four months and only keep logs for a year
The internal ID of the building. Wich is a string according to the building file. building_basic_power_plant is 26 characters, for example.
The internal ID of the Planet. Wich should be a bigger integer type.
The internal ID of the governor. Wich should be a smaler integer type.
The internal ID of the sector. Another smaler integer type. May or may not also need the empire ID.
Energy and Mineral Storage. Should be two larger floating point value. We know the game is using floating point or at least 2 digit decimal math in the background.
possibly the specific tile (could be 2 very small integers).
And we would still have to do the whole string representation afterwards. Even if we can save a bit for redundancy, I doubt we come out ahead. And then there is the whole issue with the Governor dying or changing during the collection of the report.
Again, would love it but I do see where this would all be very troublesome. In particular under the memory constraints of a 32 bit process.