Fix #387: recursive error logging for non-http events #390
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.
Description of the change
This PR addresses an issue reported in #387.
In the current release, the SDK logs an error if a request object does not exist in the local context. This behavior leads to recursive error logging when
RollbarHandler
is used. TheRollbarHandler
tries to add the request object to the payload itself, so in the absence of a request in the local context, it again tries to log the error by usingRollbarHandler
and invokesrollbar.get_request()
that again causes the same error.The provided solution removes logging errors in case of missing a request in the local context. Instead, it returns
None
.Additionally, the PR restricts the storage of request objects only for the ASGI-HTTP scope, so for other scopes, it blindly stores
None
without trying to create the request object itself.I merged the PR #389 branch to pass CI tests. This PR should be merged after approval of #389.
Type of change
Related issues
Checklists
Development
Code review