Expand description
Shared logger setup for the workspace.
The progress-bar style and the single MULTI_PROGRESS now live in
legume_numeric::matrix::progress — the lowest common dependency, so data-beans
and friends can share them without a dependency cycle (this crate depends
on data-beans, so the primitive can’t live here). This module
re-exports new_progress_bar, new_spinner, and MULTI_PROGRESS so
every existing caller (data_beans::aux::logging::new_progress_bar, senna,
graph-embedding-util) keeps working unchanged, and adds init_logger,
which wraps env_logger in indicatif_log_bridge so log output renders
above the bars instead of corrupting them.
Statics§
- MULTI_
PROGRESS - The single global
MultiProgressevery workspace progress bar registers with, sologoutput routed throughindicatif_log_bridgeinterleaves cleanly above the bars instead of corrupting them.
Functions§
- init_
logger - Install
env_loggerwrapped inindicatif_log_bridge::LogWrapperso log messages render above any active progress bar.verboseselects betweenlegume_numeric::matrix::common_io::{VERBOSE,QUIET}_LOG_FILTER; an externalRUST_LOGstill overrides the default filter. - new_
progress_ bar - Create a progress bar registered with the shared
MULTI_PROGRESSand styled with the standard template. Attach a trailing label withProgressBar::with_message, e.g.new_progress_bar(n).with_message("blocks"). Repaints on the shared [STEADY_TICK] cadence. - new_
spinner - Create a spinner registered with the shared
MULTI_PROGRESSfor unbounded / streaming work (no known total).templateis an indicatif spinner template (e.g."{spinner} streamed {pos} fragments ({per_sec})"); the shared tick frames and the shared [STEADY_TICK] cadence are applied so the spinner animates and stays visually consistent across crates.