CodeForPhilly / CodeForPhilly/clean-and-green-philly
Task: Refactor Logging and Debug Output Implementation
- Dominant language
- Python
- Stars
- 50
- Forks
- 92
- PR merge metrics
- No merged PRs in 30d
Description
## Describe the task
Refactor the inconsistent logging and debugging statements throughout the `data/src` pipeline to create a unified, configurable, and efficient logging system. Currently, a mix of `logging` calls and `print` statements are scattered across the codebase with inconsistent implementation, making terminal output verbose and difficult to manage during pipeline execution. While `config.py` contains some logging configuration functionality, it is not properly integrated throughout the pipeline. This task involves consolidating all output statements into a standardized logging system that is both parsimonious for normal operation and helpful for debugging, with particular attention to managing verbose geometry debugging output.
## Acceptance Criteria
- [ ] Audit all logging, print, and debug statements in `data/src` directory and subdirectories
- [ ] Replace all `print` statements with appropriate `logging` calls using standard log levels
- [ ] Implement consistent logging configuration that properly utilizes the existing `config.py` logging functionality
- [ ] Remove or properly gate verbose debug output that clutters terminal during normal pipeline execution
- [ ] Verify that logging performance does not negatively impact pipeline execution time
- [ ] Update relevant documentation to reflect the new logging patterns, configuration options, and best practices
## Additional context
- Preserve existing `config.py` logging functionality where possible, but refactor as needed for consistency
- Pay special attention to geometry processing modules where debug output can become extremely verbose
- Consider both development and production use cases when designing the logging system
- Ensure the solution is maintainable and follows Python logging best practices
Contributor guide
Assessment
This issue has not been assessed yet.