2个版本
0.1.1 | 2020年2月22日 |
---|---|
0.1.0 | 2020年2月22日 |
#533 in 调试
7KB
log_wrapper
这是对log crate进行包装的日志记录器的一些样板代码,它将日志输出到STDOUT。这有一个覆盖 log::Log
特性的 global static ConsoleLogger
结构体。一旦通过 ConsoleLogger::new(loglevel)
初始化,其中 loglevel 是以下之一:trace, debug, info, warn, error, off
,就可以使用 log
crate 中的标准宏,如 info!
、warn!
等,来打印,输出将根据定义的日志级别进行过滤。
例如
somemod/src/main.rc
#[macro_use]
extern crate log;
use log_wrapper::{ConsoleLogger};
use somemod_backend::print_log;
fn main() {
ConsoleLogger::new("warn".to_string());
info!("This is info");
warn!("warning");
error!("oops");
println!("Now from module");
print_log();
}
somemod_backend/src/lib.rs
#[macro_use]
extern crate log;
pub mod nested_mod{
pub fn print_log() {
info!("This is info");
warn!("warning");
error!("oops");
}
}
输出
23/02/2020:02:29:10 WARN module:somemod file:somemod/src/main.rs:8 warning
23/02/2020:02:29:10 ERROR module:somemod file:somemod/src/main.rs:9 oops
Now from module
23/02/2020:02:29:10 WARN module:somemod_backend::nested_mod file:somemod_backend/src/lib.rs:6 warning
23/02/2020:02:29:10 ERROR module:somemod_backend::nested_mod file:somemod_backend/src/lib.rs:7 oops
原因
这只是我从log crate中直接取出的样板代码,这样我就不必每次都输入它。
依赖关系
~1.5MB
~20K SLoC