I've added proper validation to the logger and it will throw errors appropriately. This takes care of issue #23.
A few things to note:
config.load_config now takes a header argument. It only returns config information for the specified header. For example, "logging", "slack", "wolfram", "autoremote".
config.json has been slightly modified with the "will" header removed.
There is now a fallback logger for situations in which the logging system may not have been initialized yet (or couldn't initialize). You can find it n logger.fallback.
A new dependency has been added, "voluptuous". It's designed to validate a number of different structure types in Python. It works particularly well for python dict objects and deserialized json. I expect we'll be using it for most of our future validations so I feel comfortable adding the dependency. Just remember to run "pip install -r requirements.txt" if you get errors about not finding voluptuous.
I've added proper validation to the logger and it will throw errors appropriately. This takes care of issue #23.
A few things to note: