An abstract logger - Enables adding logging to modules without adding a dependency to a full log library.
An no output logger class - Implements a Log4j interface with methods which does not output.