We must decide what kind of hierarchy inheritance kind choose -> Super-like or Inner-like

It seems better to choose a INNER-like hierarchy and make applications to always instantiate
a top-level LOGGER class and then specialize it as required.

This way, we can add functionalities to the logging system, inserting classes in the hierarchy.
For example, to write compressed logs, or to set user-defined filters in the logging system.

It makes more sense to work with a general LOGGER than with a specific LOGGER. This way, application logger
can be customizable by the final user.

