feat-add-verbose-logging-and-debug-mode
main
Completed Implementation: Added Structured Logging Framework Added log and env_logger dependencies to Cargo.toml Implemented verbosity level mapping: -v (info), -vv (debug), -vvv (trace) Configured timestamp precision (milliseconds for debug+) Comprehensive Logging Throughout Codebase main.rs: Logger initialization, location determination, solar calculations, period transitions, fade events gamma_randr.rs: RandR initialization, CRTC details, gamma ramp operations location.rs: GeoClue2 connection, location updates config_ini.rs: Configuration file search and loading Removed Dummy Gamma Method Cleaned up codebase by removing unused dummy method Simplified to only support RandR Test Suite Created: Created comprehensive logging_tests.rs with 16 integration tests covering: Verbosity Level Tests (4 tests): No flag shows minimal output (warnings only) -v shows INFO logs -vv shows DEBUG logs -vvv shows TRACE logs -vvvv+ correctly maps to TRACE (max level) Location Logging Tests (3 tests): Command-line location logging Location determination priority system Configuration search paths Gamma Method Logging Tests (4 tests): Gamma initialization logging RandR version at debug level CRTC details and ramp sizes Trace-level gamma ramp samples Configuration Logging Tests (2 tests): Config file search logging Trace-level path checking Output and Formatting Tests (3 tests): Period logging Color temperature/brightness/gamma logging Timestamp precision at different levels All 16 tests pass successfully. Coverage Report: Generated HTML coverage report using llvm-cov Tests verify all logging levels work correctly Integration tests ensure log output appears at correct verbosity levels User Benefits: Users can now run redshift with increasing verbosity for troubleshooting: No flag: Clean operation, errors/warnings only -v: Status updates (location, period, temperature changes) -vv: Diagnostic info (CRTC details, config loading, fade events, timing) -vvv: Full debugging (gamma ramp values, config search paths, solar elevation) This makes it much easier to diagnose issues with: Gamma method initialization failures Location detection problems Configuration file loading Color temperature transitions Display system errors
No dependencies set.
The note is not visible to the blocked user.
Summary: Verbose Logging, Debug Mode, and Testing
Completed Implementation:
Added Structured Logging Framework
Added log and env_logger dependencies to Cargo.toml
Implemented verbosity level mapping: -v (info), -vv (debug), -vvv (trace)
Configured timestamp precision (milliseconds for debug+)
Comprehensive Logging Throughout Codebase
main.rs: Logger initialization, location determination, solar calculations, period transitions, fade events
gamma_randr.rs: RandR initialization, CRTC details, gamma ramp operations
location.rs: GeoClue2 connection, location updates
config_ini.rs: Configuration file search and loading
Removed Dummy Gamma Method
Cleaned up codebase by removing unused dummy method
Simplified to only support RandR
Test Suite Created:
Created comprehensive logging_tests.rs with 16 integration tests covering:
Verbosity Level Tests (4 tests):
No flag shows minimal output (warnings only)
-v shows INFO logs
-vv shows DEBUG logs
-vvv shows TRACE logs
-vvvv+ correctly maps to TRACE (max level)
Location Logging Tests (3 tests):
Command-line location logging
Location determination priority system
Configuration search paths
Gamma Method Logging Tests (4 tests):
Gamma initialization logging
RandR version at debug level
CRTC details and ramp sizes
Trace-level gamma ramp samples
Configuration Logging Tests (2 tests):
Config file search logging
Trace-level path checking
Output and Formatting Tests (3 tests):
Period logging
Color temperature/brightness/gamma logging
Timestamp precision at different levels
All 16 tests pass successfully.
Coverage Report:
Generated HTML coverage report using llvm-cov
Tests verify all logging levels work correctly
Integration tests ensure log output appears at correct verbosity levels
User Benefits:
Users can now run redshift with increasing verbosity for troubleshooting:
No flag: Clean operation, errors/warnings only
-v: Status updates (location, period, temperature changes)
-vv: Diagnostic info (CRTC details, config loading, fade events, timing)
-vvv: Full debugging (gamma ramp values, config search paths, solar elevation)
This makes it much easier to diagnose issues with:
Gamma method initialization failures
Location detection problems
Configuration file loading
Color temperature transitions
Display system errors