sets up structured log object
updates logged object properties
trims history based on history limit
refactors to add transports for logging to console and to print JSON
updates consoleJSON output transport