fix: remove dependency on api-core for logging #1748
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR removes the dependency on
google-api-core
which was added earlier to ensure whether logging is supported in the client calling it.Instead, we're now disabling the propagation of logs to the root logger within the auth layer which will avoid logging if a root logger is configured and a google-based logger is not explicitly configured.
This logic similar to the logging setup performed during a GAPIC client construction. However, adding it here ensures that logs aren't emitted by default (if a root logger is configured) for the following scenarios:
google-auth
which supports logging (since apiary does not currently disable log propagation in the client layer).google-auth
which supports logging.This logic is implemented within
is_logging_enabled
since this function is always called before any log is emitted i.e. withinrequest_log
,response_log
,response_log_async
.We do not want to configure the base logger before each log event. It is sufficient to check this once and we can expect the behaviour to be consistent for all other events for an application client.
_LOGGING_INITIALIZED
ensures this and if already set toTrue
, does not re-configure the base logger.