I think its probably worth mentioning that you can do all of this without JSON still (not saying there aren't reasons to use JSON) and perhaps in a more human-readable format.
For example, here is a bit of code outputting some datatable details. I don't think I wrote this bit of code I just had it saved in my code repository but I do this sort of thing all the time:
api.logmessage(
si,
"Datatable output",
String.Join(
vbnewline,
dtSimple.AsEnumerable.Select(Function(x) String.Concat(
"Source:",x.Item("Company code"),vbnewline,
"Target",":",x.Item("Fiscal year"),vbnewline,
"Product",":",x.Item("GL Account"),vbnewline
))))
I didn't get to go to your presentation ludodepaz (due to everything being on at once!) but I wanted to and did go through the slides. I thought the coolest concept was where you were logging in memory and outputting to log/disk only when required.
.