Dynamic Log Level (#158): Evaluates and applies AppSettings.log_level immediately at runtime (log::set_max_level) upon saving settings and loads persisted level on startup.
Frontend Logging to File (#159A): Added src/js/logger.js and log_frontend_message command, piping frontend warnings/errors to iccery.log across all stages and initialization.
Sensitive Path Redaction (#159B): Sanitizes home-directory prefixes to ~ in log::info! subprocess spawn messages while preserving raw paths for log::debug!.
Copy Recent Log Excerpt (#159C): Added get_recent_log_excerpt backend command and 📋 Copy Recent Logs button in Settings (copies up to 200 lines / 64 KiB).
Log Rotation & Retention (#160): Configured 5 MB file segments with RotationStrategy::KeepAll and bounded automatic startup pruning (prune_historical_logs) retaining up to 5 historical log segments.
### Summary
- **Dynamic Log Level (#158)**: Evaluates and applies `AppSettings.log_level` immediately at runtime (`log::set_max_level`) upon saving settings and loads persisted level on startup.
- **Frontend Logging to File (#159A)**: Added `src/js/logger.js` and `log_frontend_message` command, piping frontend warnings/errors to `iccery.log` across all stages and initialization.
- **Sensitive Path Redaction (#159B)**: Sanitizes home-directory prefixes to `~` in `log::info!` subprocess spawn messages while preserving raw paths for `log::debug!`.
- **Copy Recent Log Excerpt (#159C)**: Added `get_recent_log_excerpt` backend command and **📋 Copy Recent Logs** button in Settings (copies up to 200 lines / 64 KiB).
- **Log Rotation & Retention (#160)**: Configured 5 MB file segments with `RotationStrategy::KeepAll` and bounded automatic startup pruning (`prune_historical_logs`) retaining up to 5 historical log segments.
- **Version Bump**: Bumped version to `0.5.4`.
Resolves #158, #159, #160.
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Summary
AppSettings.log_levelimmediately at runtime (log::set_max_level) upon saving settings and loads persisted level on startup.src/js/logger.jsandlog_frontend_messagecommand, piping frontend warnings/errors toiccery.logacross all stages and initialization.~inlog::info!subprocess spawn messages while preserving raw paths forlog::debug!.get_recent_log_excerptbackend command and 📋 Copy Recent Logs button in Settings (copies up to 200 lines / 64 KiB).RotationStrategy::KeepAlland bounded automatic startup pruning (prune_historical_logs) retaining up to 5 historical log segments.0.5.4.Resolves #158, #159, #160.