refactored logger to support array values out of the box.

fixes #3245, #3244