1 个不稳定版本
0.2.0 | 2023年11月10日 |
---|
#572 in 调试
11KB
206 代码行
rf_logger
实现了一个可以记录到stdout/stderr和轮转文件的记录器
用法
在库中
rf_logger
在用于可执行文件(二进制项目)时很有意义。库应该使用log
包。
在可执行文件中
它必须与log
一起添加到项目依赖中
[dependencies]
log = "0.4.0"
chrono = "0.4.31"
rf_logger = "0.2.0"
rf_logger
必须在项目中最早初始化。初始化后,您可以使用log
宏进行实际记录。
格式化
可以通过Builder::time_fmt()
设置时间格式字符串,其他部分是固定的。
let _ = writeln!(
buf,
"{} - {} - {}",
now.format(&self.time_fmt),
record.level(),
record.args()
);
示例
use log::{LevelFilter, info};
use rf_logger;
rf_logger::Builder::new()
.max_level(LevelFilter::Debug)
.stdout()
.rotated_file("tests/demo.log", 5 * 1024, 3)
.init();
注意
在处理每个日志记录时,都会有一个互斥锁,如果性能是您关心的,这个crate可能不是好的选择。
依赖项
~1.5MB
~20K SLoC