Skip to content

Conversation

@privateip
Copy link
Member

  • Add threading.RLock for thread-safe sensitive data filtering
  • Protect filtering check with reentrant lock in log() function
  • Create snapshot of logger names in _get_loggers() to prevent race conditions
  • Fix fatal() to write to stderr instead of stdout
  • Accept "NONE" string in set_level() for disabling logging
  • Move initial logger level setting to after NONE constant definition
  • Update docstrings to document thread-safety guarantees
  • Update tests to verify stderr output in fatal function

- Add threading.RLock for thread-safe sensitive data filtering
- Protect filtering check with reentrant lock in log() function
- Create snapshot of logger names in _get_loggers() to prevent race conditions
- Fix fatal() to write to stderr instead of stdout
- Accept "NONE" string in set_level() for disabling logging
- Move initial logger level setting to after NONE constant definition
- Update docstrings to document thread-safety guarantees
- Update tests to verify stderr output in fatal function
@privateip privateip requested a review from a team as a code owner December 12, 2025 12:01
@privateip privateip merged commit a56a22c into itential:devel Dec 12, 2025
4 checks passed
@privateip privateip deleted the logging-thread-safety branch December 12, 2025 12:04
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.

1 participant