Only initialize the logger once, and only if the _INIT_LOGGER module private
variable is True. The reason for this is to allow client applications to
override logging with custom formatters (& more) when necessary. For instance,
to use eliot[1] to log but take advantage of the metrics and timers supplied by
singer-python.
Initialize the singer root logger once
Only initialize the logger once, and only if the _INIT_LOGGER module private variable is True. The reason for this is to allow client applications to override logging with custom formatters (& more) when necessary. For instance, to use eliot[1] to log but take advantage of the metrics and timers supplied by singer-python.
[1] eliot: https://eliot.readthedocs.io/en/stable/
Disable pylint global warning for _INIT_LOGGER
An alternative would be to cache the results of get_logger, but this feels cleaner and more explicit to me.