Replace traceback.print_exc() with logger.exception() for proper logging #160
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.
Problem
The SDK currently uses
traceback.print_exc()andtraceback.print_exception()which write directly to stderr, bypassing Python's logging system. This prevents applications from:PEP 337: Logging Usage in the Standard Library explicitly states:
And recommends that modules should:
Solution
Replaced all instances of
traceback.print_exc()andtraceback.print_exception()withlogger.exception(), following the recommendation from PEP 337.Changes
logging.getLogger(__name__)toserver.pyandserver_context.pytraceback.print_exc()withlogger.exception()in 2 locationstraceback.print_exception()withlogger.exception()in 2 locationstracebackimport fromserver.pyTesting
All checks pass successfully: