Defines the Macros, data types and functions for using the SMR Emulator.
Implementation of logging functionality.