Severity enum to_string does not fail silently.
logger is now an abstract class, factory created.
Log functions for all severity levels.