add support to log to DataHub

might be nicer to create a separate constructor with the additional args, and assign everything AOT inside each one- then you could probably get rid of the *if usingdatahub ... else ...* logic in the getters