David Li
3d0dd9b8b9
feat: migrate from eprintln! to tracing for structured logging
...
- Add tracing + tracing-subscriber dependencies
- Initialize tracing in main() with env-filter (RUST_LOG support)
- Replace all eprintln! diagnostic messages with tracing macros:
- info! for lifecycle events (daemon startup, cache hits, scan progress)
- warn! for non-fatal errors (skipped DBs, scan limits, connection errors)
- error! for fatal errors (daemon startup failure)
- debug! for cache hits (hidden behind RUST_LOG=debug)
- Add #[tracing::instrument] to key paths:
- daemon::start_daemon — automatic startup timing
- query::{sessions, history, search, new_messages} — per-query timing
- crypto::full_decrypt — per-decrypt timing with page count
- Keep println! for user-facing CLI output (YAML/JSON, status messages)
- Keep eprintln! for test output and CLI progress indicators
2026-05-13 16:08:48 +08:00