Idle curiosity: I wonder if they fixed the 'bug' where if you had a big binary in an error, it got translated to a string representation of a binary, which absolutely blows up memory usage as it works its way through the logger.
In Erlang for instance, you might have a binary like <<"foo">>, which is the 3 bytes, 'f', 'o', 'o'. The display representation of it - <<"foo">> - though, as an Erlang string (which is a linked list of numbers) takes up 18 bytes according to erts_debug:size, which is a huge multiplier.
As always, though, excellent writing by Fred.