[master] Support for rolling logs

This replaces #3009 that was messed up. 

Adds support for rolling logs. When the log is rolled over diagnostics information is added to the top of the new log.

Was this removed because it wasn't used anywhere? What if there are users depending on it for some reason?