Split console logging functionality out into a separate handler class, added a file handler, and cleaned up, fixed, and added multiple handler support to the core logging logic.