Asymmetric logging API is prone to error
Whenever a logger is set for the first time, it also sets the global logger (if not already set). If a different logger is subsequently set, the original logger state is still left referenced by the global logger.
The client code was not in control of selecting the global logger, but would be forced to maintain it. It would be useful if the API for setting a logger could (optionally) not affect the global logger.
Illustrative case attached.