Skip to content

Conversation

@mplovepop
Copy link

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.

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/
An alternative would be to cache the results of get_logger, but this feels
cleaner and more explicit to me.
@abij
Copy link

abij commented Mar 30, 2020

+1, Seems good to me.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants