2 个版本
0.2.1 | 2023年6月6日 |
---|---|
0.2.0 | 2023年6月5日 |
#13 in #verbose
15KB
196 行
树桩
树桩是一个非常简单的控制台日志库。
应用设置的日志级别
应用程序可以使用 Stump 的 set_min_log_level
函数调用来设置全局使用的日志级别。然而,这可以通过环境变量来覆盖。
#[macro_use]
extern crate stump;
fn main() {
stump::set_min_log_level(stump::LogEntryLevel::INFO);
info!("Initialized logging");
// Application logic ...
}
环境变量控制
STUMP_LOG_AT_LEVEL = DEBUG | INFO | WARN | ERROR
STUMP_LOG_DATETIME_FORMAT = "%Y-%m-%d %H:%M:%S%.3f"
有关日期和时间格式的信息,请参阅 https://docs.rs/chrono/latest/chrono/。
日志
debug!("Kevin is");
info!("bad at");
warn!("writing documentation");
error!("for OSS projects");
任务完成消息
树桩还提供了用于打印任务完成状态消息的函数。
stump::print_done("Some process finished");
// Some process finished [ DONE ]
stump::print_warn("Some process with warnings");
// Some process with warnings [ WARN ]
stump::print_fail("Some process failed");
// Some process failed [ FAIL ]
通用详细(或非详细)打印
这是一个通用的 Rust 的 println
和 eprintln
版本,它尊重全局详细设置。
vprintln!("This won't print as the default is false");
stump::set_verbose(true);
// print to stdout
vprintln!("Print something {}", "Here");
// print to stderr
veprintln!("Print something {}", "Here");
stump::set_verbose(false);
// Don't print to stdout
vprintln("Again nothing will print");
覆盖 Stdout
当将树桩与另一个 CLI 库(如 indicatif
)集成时,您可以为打印提供另一种方式,例如通过它们的打印方法路由输出。
use indicatif::ProgressBar;
use stump;
lazy_static! {
static ref PB: ProgressBar = ProgressBar::new(1);
}
fn main() {
stump::set_print(|s| {
PB.println(s);
});
}
依赖项
~1–12MB
~78K SLoC