我仍是 Rust 的菜鸟,正在阅读有关可用的日志箱的信息。这个log
箱及其不同实现的某些方面对我来说就像魔术一样。以这个片段为例(摘自本文):
use log::debug;
use log::error;
use log::info;
use log::warn;
fn main() {
env_logger::init();
debug!("Mary has a little lamb");
error!("{}", "Its fleece was white as snow");
info!("{:?}", "And every where that Mary went");
warn!("{:#?}", "The lamb was sure to go");
}
env_logger
初始化后, 中的宏log
就可以立即使用了。 如何log
知道已定义记录器以及在哪里找到它? 如果同时定义了多个记录器,会发生什么情况? 它会如何选择? 在 的情况下env_logger
,第二次调用env_logger::init()
会导致线程崩溃,但这是一般规则吗?