Add ConsoleLogger
Move registration of logger to constructor
Add sweet new compile time magic to generate the logging functions automatically from the elements of LogLevel