An abstract implementation of a logger provider. By default, this class uses no-op implementations for all members unless overridden in a subclass.
Get a logger by name
Get the logger for the class T