You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
fix(internal): call _fixupChildren when retrieving DDLogger [backport 1.15] (#6350)
Backport 11a8d09 from #6080 to 1.15.
DDLogger is essentially a reimplementation of cPython's logger, but only
called _fixupParents to cleanup PlaceHolders in the logger tree, not
_fixupChildren. This led to bugs inheriting log level as demonstrated in
the new unit tests.
I filed #4856 5 months ago,
but never received any comments on it.
Personally, I disagree with the decision to re-implement cPython's
logger by calling cPython internals. In the issue I filed, I describe a
reasonable alternative using exclusively the public API. But, that's a
bigger project, and I just need the ability to silence ddtrace logs in
my application. So for now, I left the implementation as-is and brought
both the code structure and functionality in line with the cPython
implementation it's imitating.
## Checklist
- [x] Change(s) are motivated and described in the PR description.
- [x] Testing strategy is described if automated tests are not included
in the PR.
- [x] Risk is outlined (performance impact, potential for breakage,
maintainability, etc).
- [x] Change is maintainable (easy to change, telemetry, documentation).
- [x] [Library release note
guidelines](https://ddtrace.readthedocs.io/en/stable/contributing.html#Release-Note-Guidelines)
are followed.
- I don't have all of ddtrace's tooling installed. If someone could help
me generate the release notes that would be awesome.
- [x] Documentation is included (in-code, generated user docs, [public
corp docs](https://github.com/DataDog/documentation/)).
## Reviewer Checklist
- [x] Title is accurate.
- [x] No unnecessary changes are introduced.
- [x] Description motivates each change.
- [x] Avoids breaking
[API](https://ddtrace.readthedocs.io/en/stable/versioning.html#interfaces)
changes unless absolutely necessary.
- [x] Testing strategy adequately addresses listed risk(s).
- [x] Change is maintainable (easy to change, telemetry, documentation).
- [x] Release note makes sense to a user of the library.
- [x] Reviewer has explicitly acknowledged and discussed the performance
implications of this PR as reported in the benchmarks PR comment.
Co-authored-by: mattalbr <[email protected]>
0 commit comments