Description
Logging output is inconsistent across the project:
main.py, report_creator.py, utils.py use print()
ai_summarizer.py, ai_providers.py use logging.getLogger()
This leads to:
- No unified control over log levels (debug/warning/error)
- Unable to redirect log output
- AI module log format is inconsistent with print output
- Some "Warning" messages go through print, potentially polluting stdJSON and other formatted output
Proposed Fix
- Use the
logging module consistently across all modules
- Configure logging handler in
main() (console output via StreamHandler, configurable level)
- Replace existing
print() calls with appropriate logger.info() / logger.warning() / logger.error()
- Add
--verbose / --quiet CLI arguments
Affected Code
gitstats/main.py: numerous print() calls
gitstats/utils.py: print in get_pipe_output()
gitstats/report_creator.py: no direct print, but print_header etc. are HTML output (not relevant)
Description
Logging output is inconsistent across the project:
main.py,report_creator.py,utils.pyuseprint()ai_summarizer.py,ai_providers.pyuselogging.getLogger()This leads to:
Proposed Fix
loggingmodule consistently across all modulesmain()(console output viaStreamHandler, configurable level)print()calls with appropriatelogger.info()/logger.warning()/logger.error()--verbose/--quietCLI argumentsAffected Code
gitstats/main.py: numerousprint()callsgitstats/utils.py: print inget_pipe_output()gitstats/report_creator.py: no direct print, butprint_headeretc. are HTML output (not relevant)