Skip to content

fix: remove dependency on api-core for logging #1748

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged

Conversation

ohmayr
Copy link
Contributor

@ohmayr ohmayr commented Apr 11, 2025

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:

  • If Apiary client is used with a version of google-auth which supports logging (since apiary does not currently disable log propagation in the client layer).
  • If an older version of GAPIC which does not support logging is used with a version of 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. within request_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 to True, does not re-configure the base logger.

@ohmayr ohmayr added the do not merge Indicates a pull request not ready for merge, due to either quality or timing. label Apr 11, 2025
@ohmayr ohmayr removed the do not merge Indicates a pull request not ready for merge, due to either quality or timing. label Apr 14, 2025
@ohmayr ohmayr merged commit 52744bd into add-request-response-logging-auth Apr 15, 2025
4 checks passed
@ohmayr ohmayr deleted the remove-dependency-on-api-core branch April 15, 2025 16:20
ohmayr added a commit that referenced this pull request Apr 29, 2025
* feat: add functionality to hash data (#1677)

* feat: add functionality to hash data

* change sensitive fields to private

* update to sha512

* update docstring

* 🦉 Updates from OwlBot post-processor

See https://github.com/googleapis/repo-automation-bots/blob/main/packages/owl-bot/README.md

* chore: add request-response log helpers (#1685)

* chore: add request-response log helpers

* fix presubmit

* 🦉 Updates from OwlBot post-processor

See https://github.com/googleapis/repo-automation-bots/blob/main/packages/owl-bot/README.md

* feat: opt-in logging support for request / response (#1686)

* feat: opt-in logging support for request/response

* add pragma no cover

* add test coverage for request/response

* add code coverage

* 🦉 Updates from OwlBot post-processor

See https://github.com/googleapis/repo-automation-bots/blob/main/packages/owl-bot/README.md

* chore: remove logging for async requests (#1698)

* chore: remove logging for async requests

* change Dict to Mapping

* fix mypy and lint issues

* address PR feedback

* link issue

* feat: parse request/response for logging (#1696)

* feat: parse request/response for logging

* add test case for list

* address PR comments

* address PR feedback

* fix typo

* add test coverage

* add code coverage

* feat: hash sensitive info in logs (#1700)

* feat: hash sensitive info in logs

* make helper private

* add code coverage

* address PR feedback

* fix mypy type issue

* 🦉 Updates from OwlBot post-processor

See https://github.com/googleapis/repo-automation-bots/blob/main/packages/owl-bot/README.md

* feat: add support for async response log (#1733)

* feat: add support for async response log

* fix whitespace

* add await

* add code coverage

* fix lint

* fix lint issues

* address PR feedback

* address PR feedback

* link issue

* feat: add request response logs for sync api calls (#1747)

* fix: remove dependency on api-core for logging (#1748)

* fix: remove dep on api-core for logging

* disable propagation to the root logger

* update async helpers tests

* fix lint issue

---------

Co-authored-by: Owl Bot <gcf-owl-bot[bot]@users.noreply.github.com>
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.

3 participants