allow multi messages in tests
use expando  and cast to dictionary to dynamically add fields for json output
include exception detail, line number, log type and path in json