logging: use dict instead of list for formatting messages